C语言for嵌套怎么执行

Python020

C语言for嵌套怎么执行,第1张

1.你的问题直接答案:先执行完所有内循环,再执行外循环,然后k=i再进入内循环。内循环执行完成后再到外循环。

2.流程控制:顺序,选择,循环(流程控制都看不懂,学编程语言学不会的)。

简单解析你的问题:

先外循环for(i=0(只执行一次)i<n(成立进入内循环所在代码块)i++

{

k=i

for(j=i+1j<nj++)//这个内循环执行完成后,跳到外循环i++,再到外循环的控制循环的语句i<n(如果成立),又一次进入内循环所在的代码块。

//语句;

}

3.不懂可以继续问,不帮你弄懂说明我的理解不深刻。

main()

{

<1>int i,j,k

<2>printf("i j k \n")

<3>for(i=0i<2i++)

<4>for(j=0j<2j++)

<5>for(k=0k<2k++)

<6>printf("%d %d %d \n",i,j,k)

}

for循环的嵌套

就上面的代码而言,通俗的讲,我们可以说<3>套<4>,<4>套<5>

但是实际上<3>这句只是for循环的头部,其主体是<4><5><6>这三句所组成的另一个for循环。

打个比方来讲,地球从外到内不是分好几层的?for循环就跟地球一样,这里的<3>就相当于地表,<4>是地幔,以此类推。

从执行顺序来讲,我们先不讲三层的,讲个两层的好了。

比如上面的<4><5><6>三句:

<4>for(j=0j<2j++)

<5>for(k=0k<2k++)

<6>printf("%d %d %d \n",i,j,k)

第<4>句:对于从0到2的每一个j(也就是0和1了),都要执行一次<5><6>构成的for循环。

而<5>呢?是对于从0到2的每一个k(同样也是0和1),都要执行一次<6>这个句子。

总的来讲,<6>这个句子在这里一共执行了2*2=4次,第一次执行的时候j=0,k=0,第二次的时候j=0,k=1,第三次的时候j=1,k=0,第四次的时候j=1,k=1。

另外,也有人问过关于嵌套for循环的问题,请参看这里的解答:

http://zhidao.baidu.com/question/41460492.html