//Prime test
    if(iSelectedOp == 6 )
    {
        printf("Enter positive integer to be tested: \n");
        scanf("%d", &dInteger1);
        int i;
        int f;
        for (i= 2; i < 10; i++)
        {
            if (num1 % i == 0);
                f++;
                printf("%d is prime\n", dInteger1);
            else
                printf("no prime\n");
            }

    }


大家好,我这里有一个函数,它接受输入数字并告诉用户它是素数还是否。我收到一条错误消息,说我有一个其他的,但没有以前的if。我确定这是我所缺少的语法。有任何想法吗?

最佳答案

内部if后面有多个语句,因此需要使用方括号

if (num1 % i == 0)
{
    f++;
    printf("%d is prime\n", dInteger1);
}
else
    printf("no prime\n");


另外,您在if之后加了一个分号。

为了避免混淆并使代码更易于阅读,无论是否需要它们,我通常都会使用{}。不过,这是一种风格,并不是绝对必要的。

if (num1 % i == 0)
{
    f++;
    printf("%d is prime\n", dInteger1);
}
else
{
    printf("no prime\n");
}

关于c - 素数,如果否则出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25925220/

10-11 21:06