未道修
2015-08-05 15:06
for(m=2; m<=50; m++)
{
for(n=2; n<m; n++)
{执行代码
}这里不会是死循环吗?n<m不是一直不成立的吗?
不是的,只是m=2时,n=2,n<m不成立,就不会执行后面的代码,但是这个程序是嵌套的多重的,外层由m循环控制m的值是增加的,每增加一次内循环就要重新判断并执行循环,这样写第一次构不成循环,但第二次m=3,n的初始值为2,n<m,就能循环了,其实应该写成for(n=2,n<=m,n++)更好。这样后面的if(m==n)就好解释了。
第一个FOR是外循环,第二个是FOR是内循环。。。M=2和N=2是开始赋值不参加循环 OK?
首先M=2 N=2 余数为0 跳出循环 然后 M++ M=3 N=2 余数为1不跳 N<M N++ N=3 余数为0则跳出循环 以此类推
C语言入门
926207 学习 · 20797 问题
相似问题