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

求各位帮忙

 for(m=2; m<=50; m++)

    {

for(n=2; n<m; n++)

        {执行代码

}这里不会是死循环吗?n<m不是一直不成立的吗?

正在回答

4 回答

不是的,只是m=2时,n=2,n<m不成立,就不会执行后面的代码,但是这个程序是嵌套的多重的,外层由m循环控制m的值是增加的,每增加一次内循环就要重新判断并执行循环,这样写第一次构不成循环,但第二次m=3,n的初始值为2,n<m,就能循环了,其实应该写成for(n=2,n<=m,n++)更好。这样后面的if(m==n)就好解释了。

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

第一个FOR是外循环,第二个是FOR是内循环。。。M=2和N=2是开始赋值不参加循环 OK?

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

首先M=2 N=2 余数为0 跳出循环 然后 M++  M=3 N=2 余数为1不跳 N<M N++ N=3 余数为0则跳出循环 以此类推

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

未道修 提问者

m=2,n=2之后不是有一个n<m的判断吗?不成立不是应该执行n++?一直循环下去?
2015-08-06 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

求各位帮忙

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