C语言中循环语句for的疑惑

来源:百度知道 编辑:UC知道 时间:2024/05/12 07:37:54
for(i=0;i<3;i++)

{

for(j=0;j<5;j++)

{ scanf("%d",&a[j][i]);

s=s+a[j][i];}

v[i]=s/5;

s=0;

}

对于这种双循环语句程序是如何执行的?
for(i=0;i<3;i++)先判断i是否<3(一定<3),是则专向下一条for(j=0;j<5;j++),这时又要判断当j<5,j<5转向 scanf("%d",&a[j][i]);及后面的程序,那么后面的执行完后对j+1再来判断一直到j<5为条件非,才停止执行后面程序。
问题来了,第一句的for(i=0;i<3;i++)是不是要到后面的for(j=0;j<5;j++)全部的循环完后才它才进行第二次循环?还有一个问题就是我上面这样叙述它的过程对不对?

你写的挺多 我没看 反正你就记住了 先执行内循环 然后执行外循环就行了 先执行内循环 一次内循环执行完了 才能轮到外循环

执行的情况是这样的
i=0 j=0 执行循环内容
i=0 j=1 执行循环内容
i=0 j=2 执行循环内容
i=0 j=3 执行循环内容
i=0 j=4 执行循环内容

i=1 j=0 执行循环内容
i=1 j=1 执行循环内容
i=1 j=2 执行循环内容
i=1 j=3 执行循环内容
i=1 j=4 执行循环内容

i=2 j=0 执行循环内容
i=2 j=1 执行循环内容
i=2 j=2 执行循环内容
i=2 j=3 执行循环内容
i=2 j=4 执行循环内容

楼上的和楼主都是对的,循环的套嵌是要很仔细的

就是内层循环执行一边外层循环执行一次 直到所有条件都不满足了 在跳出循环