我在其他程序中使用过 isPrime() 函数,它运行良好,我什至以前也以同样的方式引用过它。出于某种原因,在这个程序中该功能不起作用。我使用 printf() 检查函数返回的内容,它似乎是内存位置。我不知道要更改什么,因为正如我所说,我确信该功能有效。
#include <stdio.h>
int main(void){
int isPrime(int a);
int result;
int x = 1;
while(x <= 1000){
result = isPrime(x);
if (result == 1){
printf("%d\n",x);
}
x++;
}
}
int isPrime(int a){
int count;
int z;
if(a == 1){
return 0;
} else {
for (z = a; z != 0; z-- ){
if(a % z == 0){
count++;
}
}
if(count <= 2){
return 1;
} else {
return 0;
}
}
}