| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 612 人关注过本帖
标题:为什么会有这样的输出呢?
只看楼主 加入收藏
yangt
Rank: 2
等 级:论坛游民
帖 子:49
专家分:20
注 册:2012-11-28
结帖率:61.11%
收藏
已结贴  问题点数:18 回复次数:9 
为什么会有这样的输出呢?
int main()
{
    int a[4],i;
    for(i=0;i<4;i++)
       a[i]=i;
    for(i=0;i<4;i++)      
    printf("%d   ",a[i]);

}
这是循环嵌套吗,好像不是吧.为什么输出的是0 1 2 3呢?
在第一个for语句执行的结果值应该是0 1 2 3,但是他并没有向屏幕输出。
而第二个for语句并没有a[i]=i的赋值语句,所以她输出的是任意四个值才对啊?
下面的输出和上面的输出是一样的,但有什么不同吗?求哥哥!
int main()
{
    int a[4],i;
    for(i=0;i<4;i++)
       a[i]=i,
       printf("%d   ",a[i]);
}
2014-02-07 19:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
不學好,鑒定完畢。

授人以渔,不授人以鱼。
2014-02-07 19:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
第一个循环赋值  第二个循环输出  那还要赋值几次啊  还不累死

DO IT YOURSELF !
2014-02-07 20:05
yangt
Rank: 2
等 级:论坛游民
帖 子:49
专家分:20
注 册:2012-11-28
收藏
得分:0 
哥哥能好好看看题吗?
在第一个for语句执行的结果i的值应该是0 1 2 3,但是他并没有向屏幕输出。
而第二个for语句并没有a[i]=i的赋值语句,而且这个for语句一开始执行,就又将i赋值为0,所以她输出的是任意四个值才对啊?
这只是我的逻辑,但是显然错了,但又想不明白!
2014-02-08 08:31
zhu_zhi
Rank: 2
来 自:广西百色
等 级:论坛游民
帖 子:129
专家分:92
注 册:2013-4-25
收藏
得分:3 
第一次循环吧0、1、2、3赋給a[0]、a[1]、a[2]、a[3]。
第二次循环把a[0]、a[1]、a[2]、a[3]的值输出,也就是说把0 1 2 3输出。
应这样去理解。
2014-02-08 09:18
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:3 
a[i] = 多少与i等于多少无关。
你第一个for循环的时候  已经将a[i]附上相应的值了。但是你没有打印而已。 而你的第二个for循环虽然将i重新从0开始,但是并不影响a[i]的值,后面你又print输出。自然就直接输出第一个for循环赋的值。你第二个for循环 i的值只是决定 数组a[i]是打印的第几个元素。

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2014-02-08 09:20
tianwen0921
Rank: 2
等 级:论坛游民
帖 子:18
专家分:44
注 册:2014-1-27
收藏
得分:1 
上面解答很清楚了,孩子,好好看看书,思考一下
2014-02-08 09:58
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:5 
回复 楼主 yangt
第一个for相当于循环向4个抽屉里放入4个值,那么是哪4个抽屉呢?i的值告诉你是编号为0到3的那4个抽屉。好,现在知道是编号为0到3的抽屉要放入值,但是它们分别要放入什么值呢?a[i]=i;这句代码告诉你,这4个抽屉放入的值就是它们的编号值。即0号抽屉放入它的编号0,1号抽屉放入它的编号1,其余类推。
第二个for相当于拿出4个抽屉里的值打印出来。那么拿哪4个抽屉的值打印呢?i的值告诉你是循环拿编号为0到3抽屉里的值打印出来。由于在第一个for中已经给这4个抽屉放了值(它们的值恰好是它们的编号值),所以这里只是拿出它们的值打印出来,而并不是打印i的值。这里的i只是告诉你要打印哪4个抽屉的值。换句话说,打印出来的值并不是i的值,而是这4个抽屉里的值。
这样讲,你应该更能理解了吧?

本人QQ:775420425
2014-02-08 17:09
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:2 
回复 2楼 TonyDeng
对初学者,还是要耐心一点的。

本人QQ:775420425
2014-02-08 17:11
w851777025
Rank: 7Rank: 7Rank: 7
来 自:新疆
等 级:黑侠
威 望:2
帖 子:135
专家分:584
注 册:2014-1-19
收藏
得分:1 
回复 9楼 hjxlj
同意
2014-02-08 20:09
快速回复:为什么会有这样的输出呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012626 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved