关于c语言多层嵌套的for循环我真的看不懂怎么办

2021-03-11 05:40:42 字数 4226 阅读 3518

1楼:软件

嵌套就一层一层的执行,需要有必要的做些标记:例内如:

for(int i=0;i<4;i++)

for(int j=0;j<4;j++)

for(int k=0;k<4;k++)

printf(%d%d%d,i,j,k);

这个就是先 i=0——

容>j=0——>k=0 输出:0 0 0i=0——>j=0——>k=1 输出:0 0 1.......

*(当k的4次结束后,j就加1 k接着从0开始)i=0——>j=1——>k=0 输出:0 1 0i=0——>j=1——>k=1 输出:0 1 1...

(k的4次执行完后,j就再加1,成了2 )

.......*(当这样循环j的4次也结束后,i就加1,成了1,而j还是从0开始,k亦从0开始,知道最后i变成4)...输出:

4 4 4后结束,这样说我觉得可以了,要是还有问题的话,可以再问,你只要耐心一点一步一步走就懂了。

2楼:随风而逝_微尘

麻烦来完自整的排一bai下版,而

du且#include "stdafx.h" #includeint main(int argc, char* argv) printf("\n"); } for(i=1;i<=n-1;i++) { for(j=1;j<=i;j++) printf(" ");还少

zhi了东西dao

3楼:吴唯寒萱

for()

{for()

}这是嵌套,也就是说for作为循环体。

for(){}

for(){}这是并列。

4楼:匿名用户

最简单的 数大括号就是了

5楼:匿名用户

return o错了,是return 0啊,零啊

6楼:债务危机

你不分行写我也懒得看了。。。

7楼:非非冰弋

把格式调整好。。。 其实不难。静下心来对照着输出结果一句一句的分析就好

8楼:吴世雄天下

一层层的拆才开看就可以了。。

c语言中关于多个for循环的问题 5

9楼:匿名用户

#include

void main()

10楼:匿名用户

1、最开抄

始进入的是第一层for循环,袭在进入第二层for循环,一直bai到最后一层dufor循环执行完,再返回上一zhi层for循环一次,进入dao下一层循环,一直到所有循环结束。

2、例如:

for(inti=0;i<5;i++)

printf("\n");

}/*这里是3层循环,第一次是i=0,j=0,l=0,一直l=4;在返回j=1,l=0,一直到l=4;再返回上一层循环,直到j=4;再返回i=1,直到i=4结束整个循环,结果就是循环125次:

(最外层是是对应5组,第二层是对应25行,第三层是对应0—4)*/

11楼:听不清啊

图中二层循环都是循环3次,所以就输出9个aa

循环全部结束后输出bb一次。

12楼:

这个实际bai上不是 多个for循环的问du题,而是一个语zhi

句的作用范围dao的问题

当你需要循环的语回句只有一句的时答候,就可以写成这样

for(i=0,i<3;i++)

printf("aa\n");

如果有多个的话

就需要用大括号括起来

for(i=0,i<3;i++)

括起来的话,这三句都将循环三次。

而不论大括号里括了多少条语句,for循环本身也只算一个语句。

因此,可以分析你刚才那段**

for(i=0;i<3;i++)

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

printf("aa\n");

printf("bb\n");

先看外边的for ,它没有使用大括号{} ,因而只将离他最近得一条语句进行循环

而这条语句也是一个for循环。 第二个for 循环也没有大括号,因此也只将离他最近得语句进行循环。即将printf("aa\n");进行循环。

而最后的printf("bb\n");没有在任何循环里边,所以只执行一次。

for循环的嵌套,从外边进入里边,将里边的循环当做一个整体,几次循环执行完毕后,再回过头来进行外边循环。总的来说,将里边的循环看做整体,比较有利于理解。

13楼:刘鸿波

你的程序相对于bai下面这段代du码:

#include

void main()

}printf("bb\n");}执行

zhi顺序如下:

i=0:

j=2;printf("aa\n");j++;

j=3;printf("aa\n");j++;

j=4;printf("aa\n");j++;

i=1;

j=2;printf("aa\n");j++;

j=3;printf("aa\n");j++;

j=4;printf("aa\n");j++;

i=3;

j=2;printf("aa\n");j++;

j=3;printf("aa\n");j++;

j=4;printf("aa\n");j++;

跳出dao嵌套循环

执行printf("bb\n");

所以版最终的结果是9个

权aa,一个bb

14楼:

#include

void main()

15楼:匿名用户

执行的每一步 顺序 如下

i=0,i=2,printf("aa\n");

i=0,i=3,printf("aa\n");

i=0,i=4,printf("aa\n");

i=1,i=2,printf("aa\n");

i=1,i=3,printf("aa\n");

i=1,i=4,printf("aa\n");

i=2,i=2,printf("aa\n");

i=2,i=3,printf("aa\n");

i=2,i=4,printf("aa\n");

printf("bb\n");

**这么写让人 能好理解些。

#include

void main()

里的**

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

}printf("bb\n");//这个print 不属于任何循答环里 所以只执行了1次}

16楼:匿名用户

先是内层循环(即j),再循环i,因为没加{}所以循环体只有输出aa那个,最后退出两个循环时才输出一个bb,谢谢

17楼:匿名用户

先执行一

抄次最外层的for语句,然后执行第二层的for语句袭,直到第二层执行完毕bai

,又回到第du一层的for语句执行一次

zhi,再执行第二层,结果是外循环的for语句执行3次,第二层的for循环执行(5-2)*3=9次,第二层的循环每执行一次就输出一个aa,所以输出9个aa,printf("bb\n")是在for语句的外边,所以只在最后执行一次,for语句如果每次循环都要执行一条以上的语dao句就要在语句外边加花括号,即如果要执行printf("aa\n");printf("bb\n");两条语句的话就要写成

这种形式。

18楼:孤高天子龙

里面那个循环执行3乘3次,外面循环执行3次。

原理就是里面循环完了,外面循环一次。

19楼:匿名用户

for嵌套,由外到内。第一层for执行一次,就会到第二层for,直到第二层for循环结束,开始第一层for的第二次执行,然后就开始第二层的第二次。。。。直到结束

20楼:秒杀

你可以这样抄理袭解:

for(i=0;i<3;i++)

printf("bb\n"); //这里会输出1个“bb”

21楼:来厦门找我

0,1,2 2,3,4 3*3=9 所以是9个aa 最后循环后就是打印bb