【发布时间】:2021-12-22 06:55:01
【问题描述】:
模数正在改变primer 的值,因为当我在找到模数之前打印它时,我得到了它的实际值,但在找到模数后它有时会变成零或一。这是一个判断用户输入的数字是否为质数的程序。
#include<stdio.h>
int main(){
int num;
int primer;
int mod;
printf("enter num> ");
scanf("%d", &num);
primer = num-1;
while(primer > 0){
mod = num%primer;
if(mod == 0){
printf("not prime");
break;}
if(primer == 1){
printf("prime");
break;}
primer--;}
}
【问题讨论】:
-
您输入的是什么值?你看到了什么结果?你期望得到什么结果?
-
请提供minimal reproducible example -- 缺少
while循环的其余部分。 -
@G.M.我在中编辑了它
-
请使用一致的可读格式和缩进。
primer--;}}???真的吗?如果你不花时间让你的代码可读,不仅没有其他人读,你也不能读。 -
@AndrewHenle 我刚开始学习,谢谢你的提示,但这只是一个简单的脚本,所以我认为没有必要很好地格式化它
标签: c variables while-loop modulo