0
#include <stdio.h>
#include <stdbool.h>
#include <math.h>

int main() {        
    int num;
    int i;
    int prime = true;

    // omitted for brevity

    if (prime = true) {
        printf("The number is prime\n");    
    }
    else {
        printf("The number isn't prime\n");
    }
}

我正在尝试编写一个程序来检查一个数字是否是素数,但它总是说这个数字是素数。答案可能非常明显,但我是个大菜鸟。

4

2 回答 2

4

至少,

if (prime = true)

应该

if (prime == true)

,但最好只是

if (prime)

否则赋值的结果就是赋值prime = true的值,这是真的。

于 2012-12-22T21:40:16.407 回答
3
if (prime = true)

应该

if (prime == true)

反而。

=是赋值运算符,您正在寻找相等运算符==

确保在编译程序时启用警告并修复代码中的所有警告。一个体面的程序不应该产生任何警告。

于 2012-12-22T21:39:45.427 回答