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