为了账号安全,请及时绑定邮箱和手机立即绑定

有大神帮忙吗 ?我把数字都带入算过了

n=4  m=4 时输出不就是4了  为啥里面结果没有4  搞不明白

正在回答

3 回答

先开始m=2,然后进入子循环n=2,m%n==0,然后break,跳出子循环,进入if   m=n判定,判定成功,输出2;

父循环m=3,进入子循环n=2,不符合条件,继续子循环n=3,m%n==0,然后break,跳出子循环,进入if   m=n判定,判定成功,输出3;

父循环m=4,进入子循环n=2,m%n==0,然后break,跳出子循环,进入if   m=n判定,m=4,n=2,m!=n,判定失败,不输出;

父循环m=5,进入子循环n=2,……

并不会出现你所说的m=4,n=4一起

8 回复 有任何疑惑可以回复我~

第二个for(n=2;n<m;n++)这个条件决定了m不可能等于4,所以跳出第二个for循环,进入if循环,不满足条件,不输出。

我不懂得是遇到break跳出的是第一个for还是第二个for循环,还有为什么m=5时,n=2,3,4,;不满足两个if函数的时候为什么会输出数值。

0 回复 有任何疑惑可以回复我~
#1

哦阿达

m可以=4,但是n在m=4的时候不能=4。 break跳出的是自己所在的循环,即子循环。 m=5时n=2,3,4确实不满足if的条件,但是在m=2,3的时候满足条件,所以在m=2,3的时候 2,3的数值被输出。m=5时候只是输出了结果为5的数值
2022-01-14 回复 有任何疑惑可以回复我~

4%2==0 ;//4除2的时候就已经跳出循环了,此时m != n

0 回复 有任何疑惑可以回复我~
#1

不要香菜6754782 提问者

小弟 有点愚钝 还是不太理解
2021-12-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926210    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

有大神帮忙吗 ?我把数字都带入算过了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信