#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");
}
}
我正在尝试编写一个程序,检查一个数字是否为素数,但总是说数字是素数。答案可能很明显,但我是一个巨大的菜鸟。
答案 0 :(得分:4)
至少,
if (prime = true)
应该是
if (prime == true)
,但更好的只是
if (prime)
否则,赋值prime = true
的结果是赋值,即为真。
答案 1 :(得分:3)
if (prime = true)
应该是
if (prime == true)
代替。
=
是赋值运算符,您正在寻找等于运算符==
。
确保在启用警告的情况下编译程序,并修复代码中的所有警告。一个体面的计划不应该产生任何警告。