hhjc.net
当前位置:首页 >> 理解多层For嵌套循环 >>

理解多层For嵌套循环

当然是从里面一层一层出来了 第一个fori=0时,进入第二个.i=0然后在进入第三个.第三个进行循环,完了到第二个i=1.在到第三个去循环.这样依次下去

//循环嵌套 int a[10][10]; for (int i = 0; i { for (int j = 0; j { a[i][j] = i + j; } }

开始先执行printf("i j k\n"); 输出ijkfor语句中最外层i=0,j=0; k=0时,输出000 k=1时,输出001然后就是当i=0,j=1; k=0时,输出010 k=1时,输出011再然后就是i=1,j=0; k=0时,输出100 k=1时,输出101最后就是i=1,j=1; k=0时,输出110 k=1时,输出111

嵌套就一层一层的执行,需要有必要的做些标记:例如: for(int i=0;ij=0>k=0 输出:0 0 0 i=0>j=0>k=1 输出:0 0 1 .*(当k的4次结束后,j就加1 k接着从0开始) i=0>j=1>k=0 输出:0 1 0 i=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后结束,这样说我觉得可以了,要是还有问题的话,可以再问,你只要耐心一点一步一步走就懂了.

//for循环的循环次数一目了然,嵌套结构一目了然,书写嵌套的循环比较方便,所以普通的有目的的嵌套循环多用for.//for能实现的其它循环也一定能实现,但嵌套结构看起来就不如for循环清晰了,书写也不如for循环简洁.//for循环如下:for(int i=0;i 评论0 0 0

举例一段代码:main() { int i,j; printf(i j\n); for(i=0;i <2;i++) for(j=0;j <3;j++) printf(%d %d\n,i,j);1.执行第一个for,i=0,执行第二个for,j=0 1 2满足条件(j=0;j<3);2.执行第一个for(i++),i=1,执行第二个for,j=0 1 2满足条件(j=0;j<3);3.执行i++后i=2不满足i<2,结束所以运行结果为:i j0 00 10 21 01 11 2

可以有多层由内往外一层一层循环

所谓for语句的嵌套就是多层for循环的使用,举个二维数组赋值的例子,int a[3][4]; //定义一个3行4列的二维数组 int i; //用来控制行 int j; //用来控制列 int tmp=1; for(i=0;i{ for(j=0;i { a[i][j]=tmp++; } }//到这里就实现了二维数组的赋值操作

定义三个变量i.j.k.第一个for,第一次循环i=0,紧接着判断此时的i是否满足i≤2,若满足则进行下面的命令,在该for下面的命令执行完后再回到该for,让i++,即在原来的i上+1;后面的for与其原理相同.直到不满足i≤2,整个循环结束,其中每次i变换每次循环结束都需要换行(\n)最终结果是三行星,每行四个,第二行开头多一个空格,第三行多两个空格.

你可以只一层循环,但是循环体要放到{}里才行. for (j = n; j > 0; j--) { self.moveBy(j,0); self.moveBy(-j,0); } 否则只是循环右移n次后,左移一次. 双重循环不过是把n次变成10 * n次,你直接1个循环10 * n次也一样.

网站首页 | 网站地图
All rights reserved Powered by www.hhjc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com