【发布时间】:2018-03-09 07:25:00
【问题描述】:
在此代码中,您输入一个数字,它会通过返回 0 或 1 来告诉您它是否是素数。然后它应该打印数组“素数”的第 0 项或第 1 项。但是,我遇到了这个问题,我不知道如何解决列表问题。 (我对 C 完全陌生)
#include <stdio.h>
#include <string.h>
int test(int number) { /*1 means prime, 0 means not*/
int iter;
int mod;
if (number == 1) {
return 0;
}
for (iter=2;iter<number-1;iter+=1) {
if (number % iter == 0){
return 0;
}
}
return 1;
}
int main(){
char prime[2] = {'This number isn\'t prime','This number is prime'};
int userIn;
printf("Enter an integer to check: ");
scanf("%d",userIn);
printf("%c",prime[test(userIn)]);
}
【问题讨论】:
-
char表示单个字符,字符串用双引号分隔 -
解决方法是阅读初级 C 书籍中关于数组的章节,然后阅读关于字符串的章节。代码是废话。
-
原来问题只是在 scanf 中,将 'userIn' 没有 '&userIn' 并且数组 'prime' 不是多维的。感谢大家的帮助,因为它现在正在工作!
标签: c