一个求素数的小问题

欠债的脱水橘猫 2019-11-22 05:39:55
大佬救我,我又脑瘫了,为啥这个程序会输出数字1;

#include<stdio.h>
int prime(int m);
int main ()
{
int m,count=0,n;
scanf("%d",&n);//刚才忘记写地址符了
for(m=1;m<=n;m++){
if(prime(m)==1){ //没有花括号就变成了数字累加
printf("%d ",m);
count++;//只有在为真的条件下才会累加
if(count%10==0){
printf("\n");
}
return 0;
}
int prime(int m){//在定义函数的时候还是要定义形参的类型的,只有主函数的实参是不需要再做另外的声明的
int sum=0,j;

for(j=1;j<=m;j++){
if(m%j==0)sum++;
}
if(sum>2)
return 0;
else if(sum=2)
return 1;
else
return 0;

}
...全文
69 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 datoulaile123的回复:
if(prime(m)==1){ //没有花括号就变成了数字累加
为什么没有在count++;//只有在为真的条件下才会累加 后面加上}
你这代码我觉得应该是编译都过不了的,花括号对不齐,编译器必定过不了
我明白了,谢谢大佬,吐血( •̆ ᵕ •̆ )◞♡
  • 打赏
  • 举报
回复
引用 7 楼 SuperDay的回复:
都是要练出来的,要学会归纳总结
好的,含泪答谢,,被粗心搞死了
铖邑 2019-11-22
  • 打赏
  • 举报
回复
都是要练出来的,要学会归纳总结
  • 打赏
  • 举报
回复
引用 2 楼 datoulaile123的回复:
if(prime(m)==1){ //没有花括号就变成了数字累加
为什么没有在count++;//只有在为真的条件下才会累加 后面加上}
你这代码我觉得应该是编译都过不了的,花括号对不齐,编译器必定过不了
也不是过不了就是很菜
  • 打赏
  • 举报
回复
引用 3 楼 qq_45798109的回复:
sum==2....
我要自闭了,谢谢大佬
  • 打赏
  • 举报
回复
引用 1 楼 SuperDay的回复:
sum == 2 孩子,你太粗心了,虽然你很努力,但是要用心
啊,吐了一地的血,谢谢大佬!!!大佬一生平安
摺耳喵 2019-11-22
  • 打赏
  • 举报
回复
sum==2....
datoulaile123 2019-11-22
  • 打赏
  • 举报
回复
if(prime(m)==1){ //没有花括号就变成了数字累加
为什么没有在count++;//只有在为真的条件下才会累加 后面加上}
你这代码我觉得应该是编译都过不了的,花括号对不齐,编译器必定过不了
铖邑 2019-11-22
  • 打赏
  • 举报
回复
sum == 2 孩子,你太粗心了,虽然你很努力,但是要用心

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧