第二个for是第一个for的子循环,就是说第一for里面的变量i没循环一次第二个for就要从头到尾循环一遍。
1、第一个0,0 :
第一个for循环开始i=0 满足循环条件i<2所以进入循环,执行下一个语句——第二个for 判断j=0 此时j<3所以满足条件进入第二个for循环 执行循环语句 输出此时的i,j的值,然后j进行自加运算j++ 结束第二个for的第一次循环,进入第二次循环的判断。
2、第二个0 1 :判断此时j=1满足循环条件 j<3所以进入第二个for的第二次循环,而此时i还是0。(因为第一个for的第一个循环还没完,所以没进行自加运算),因此输出0 1结果,然后j自加并结束第二次循环,进行第三次循环的判断。
3、第三个 0 2:判断此时j=2满足循环条件j<3所以进入第三个循环,输出 0 2结果,之后j自加冰进行第四次循环的判断
4、第四个 1 0:判断此时j=3 循环条件j<3不成立,所以终止第二个for循环,继续下面语句(在这里就是第一个for循环了) 第一个for循环的变量i自加结束第一个for循环的第一次循环。判断此时i=1满足循环条件i<2,进入第一个for的第二次循环,然后就是第二个for了.(重复1到3)
嵌套的循环你只要记住,外层循环每循环一次内层循环就要循环一遍。
既是:嵌套循 最先进入的循环(外层循环)最后出来
这是一个嵌套循环啊,还有printf有错,没有""啊
缩进一下,就好看多了
for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf(%d %d\n,i,j);
i=0,j=0,1,2,分别输出0 0 0 1 0 2
i=1,j=0,1,2,分别输出1 0 1 1 1 2
printf(i j\n); //输出i,j
for(i=0;i<2;i++)
for(j=0;j<3;j++)
/*第一次i=0,j=0,由于j=0<3因此继续循环,
第二次i=0,j=1,...............
以此类推
第三次i=0,j=2结束,跳出for(j=0;j<3;j++)的循环,此时i=1继续循环,重复前面
第四次i=1,j=0
第五次i=1,j=1
第六次i=1,j=2
*/