帮忙解释下这个三重循环是怎么运算的.

来源:百度知道 编辑:UC知道 时间:2024/05/28 19:58:22
小弟刚学C语言,对多重循环不是明白,麻烦各位高手指点下.
程序如下
int i,j,k,nm,s=0;
for(i=0;i<=2;++i)
for(j=0;j<=9;++j)
for(k=2;k<=9;++k)
{
n=100*i+10*j+k;
m=100*k+10*j+i;
if(m>=2*n&&m<+3*n)
{
++s;
printf("%d"n);
if(s%10==0)
printf("\n");
}
}
请高手帮我解释下上面的程序是怎么运算的,谢谢了.

其实很简单,只是你自己认为自己是菜鸟,没好好琢磨问题。
从第一个for一开始,就进入第二个for,再进第三个for,执行第三个for里的内容,执行完了,计数器k加一(每次都这样慢慢加),这时你看“for(k=2;k<=9;++k) ”这句,到k=9的时候,第三个for就执行完了,跳出,就遇到了第二个for,接着怎么走呢?实际上可以看成第二个for把第三个for当做了自己的“子for”,也就是第三个for做完一次,第二个for的计数器j才加一,依次类推。
这个for很符合人的逻辑,枚举经常用的。