for;for;for的顺序

来源:百度知道 编辑:UC知道 时间:2024/05/17 18:54:57
/*水仙花数*/
#include "stdio.h"
main()
{int a,b,c,n;
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
{ n=100*a+10*b+c;
if(n==a*a*a+b*b*b+c*c*c)
printf("%d\n",n);
}
}

这几个for我知道不是嵌套但是是怎么个顺序执行的啊?
a=0因为a<9,所以a=0+1=1
b=0因为b<9,所以b=0+1=1
c=0因为c<9,所以c=0+1=1
然后判断100*a+10*b+c是否等于a*a*a+b*b*b+c*c*c

对吧?????

然后呢(是a不变,b不变,c自加,判断吗?)
————(还是b不变,c不变,a自加,判断呢??)

就这个for一多了就不明白了

这几个for是嵌套的。
for(a=0;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++) {};

执行顺序:
a=0;b=0; 做c=0...9
a=0;b=1; 做c=0...9
a=0;b=2; 做c=0...9
a=0;.....做c=0...9
a=0;b=9; 做c=0...9
--
a=1;b=0; 做c=0...9
a=1;b=1; 做c=0...9
a=1;b=2; 做c=0...9
a=1;.....做c=0...9
a=1;b=9; 做c=0...9
--
a=2;b=0; 做c=0...9
a=2;b=1; 做c=0...9
a=2;b=2; 做c=0...9
a=2;.....做c=0...9
a=2;b=9; 做c=0...9
--
.........
a=9;b=0; 做c=0...9
a=9;b=1; 做c=0...9
a=9;b=2; 做c=0...9
a=9;.....做c=0...9
a=9;b=9; 做c=0...9

a不变,b不变,c自加.先从小for循环开始,满足所有的c后,然后执行b++,满足所有的b后,a再加