问答详情
源自:4-14 结束语句之break语句

求各位帮忙

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

    {

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

        {执行代码

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

提问者:未道修 2015-08-05 15:06
微课

个回答

  • 一缕火光焚燎原
    2015-10-19 22:55:32

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

  • Love小艺
    2015-08-09 17:24:09

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

  • Love小艺
    2015-08-05 18:14:20

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