firewater 发表于 2014-10-17 20:20:47

一个C的题目

本帖最后由 firewater 于 2014-10-18 15:34 编辑

小甲鱼的第十九课#include "stdio.h"

void main()

{
int i, j, k;
printf("i j k\n");
for (i = 0; i < 2;i++)
for (j = 0; j < 2;j++)
for (k = 0; k < 2; k++)
printf("%d%d%d\n", i, j, k);
}
小甲鱼说从最里面的循环开始执行,那i和j的值从哪来

楚门 发表于 2014-10-18 15:49:14

搞清楚for循环括号内的三个表达式和循环语句块的执行顺序

仰望天上的光 发表于 2014-10-18 20:43:33

这个问题。。。自己看书难道看不明白吗?

firewater 发表于 2014-10-18 21:29:43

仰望天上的光 发表于 2014-10-18 20:43
这个问题。。。自己看书难道看不明白吗?

书上没有这个例题啊

仰望天上的光 发表于 2014-10-18 21:49:45

firewater 发表于 2014-10-18 21:29
书上没有这个例题啊

书上有多重循环的例题啊,看懂了就明白这个了,这个不明白说明多重循环的例题没看明白啊。

firewater 发表于 2014-10-18 21:59:53

仰望天上的光 发表于 2014-10-18 21:49
书上有多重循环的例题啊,看懂了就明白这个了,这个不明白说明多重循环的例题没看明白啊。

谭浩强的??

仰望天上的光 发表于 2014-10-18 22:27:51

firewater 发表于 2014-10-18 21:59
谭浩强的??

任何一本比较正规的C语言教程都会有多重循环的例子。

学学再说 发表于 2014-10-18 22:35:05

你不是赋值   i=0;

剑雨君 发表于 2014-10-18 23:21:39

循环的确是从最里面的开始,但是外部的也已经开始进行循环了啊,不过最早完成一个循环的一定是最里面的

Mr.屎壳螂 发表于 2014-10-19 17:31:54

#include "stdio.h"

void main()

{
int i, j, k;
printf("i j k\n");
for (i = 0; i < 2;i++)    //1
for (j = 0; j < 2;j++)   //2
for (k = 0; k < 2; k++)//3
printf("%d%d%d\n", i, j, k);
}
首先 i=0,满足条件进入循环 1,然后下一个又是循环, j=0满足条件,进入循环2,然后又有循环,k=0满足条件,在进入循环3.循环3中,语句是输出,然后分别输出i j k ,然后,继续,就是k++,k=1满足条件,继续输出,然后k++,k=2跳出这个循环,退到上一个循环,以此类推..
再不明白可以看这个代码,你那个改的
#include "stdio.h"

void main()

{
        int i, j, k;
        printf("i j k\n");
        for (i = 0; i < 2;i++)                //1
        {
                printf("执行循环1:i=%d \n",i);   //2
                for (j = 0; j < 2;j++)
                {
                        printf("执行循环2:j=%d\n",j);
                        for (k = 0; k < 2; k++)         //3
                        {
                                printf("执行循环3:k=%d\n",k);
                        }
                }
        }
}
这个再不明白,我就帮不了你了,

青蛙星 发表于 2014-10-21 22:35:02

这样说好了。计算机是顺序执行的,也就是先从第一个for开始执行。
第三个for实际上是比其他几个for语句先结束而已。

c806375 发表于 2014-10-21 22:54:07

谢谢10楼的解答,还没学到这里,先收藏。楼主别删帖啊

Answer.zhang 发表于 2014-10-22 16:24:59

书写规范

小山童鞋 发表于 2014-10-22 21:45:19

额,不就是相当于遍历一个三位数组么………………
也可以看成成一个二进制数……
i为第一位,j为第二位,k为第三位。
i满2,j+1,j满2,k+1,k满2,循环结束。

firewater 发表于 2014-10-22 22:49:49

小山童鞋 发表于 2014-10-22 21:45
额,不就是相当于遍历一个三位数组么………………
也可以看成成一个二进制数……
i为第一位,j为第二位, ...

还没看到数组

firewater 发表于 2014-10-22 22:52:15

Mr.屎壳螂 发表于 2014-10-19 17:31
#include "stdio.h"

void main()


谢谢,

IGSSIS 发表于 2014-10-24 20:26:54

小甲鱼说的书写规范很重要!

大个的糖果 发表于 2014-10-30 19:28:45

页: [1]
查看完整版本: 一个C的题目