| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3842 人关注过本帖
标题:用for循环printf打印的问题
只看楼主 加入收藏
qalaaa
Rank: 1
等 级:新手上路
帖 子:14
专家分:8
注 册:2012-8-19
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:13 
用for循环printf打印的问题
程序代码:
#include<stdio.h>
main()
{
    int c,i;
    int digit[100];

    for (i = 0; i <= 100; ++i)
        digit[i] = 0;
    for (c = 0; c <= 100; ++c)
        printf("%d\n",digit[c]);
}
我认为打印结果出来应该全部是0的。可以结果出来是这个样子的。
0
0
0
0
0
(中间省略)
0
0
100

最后一个为什么是100呢?好奇怪。我用的是ubuntu12.04
搜索更多相关主题的帖子: 打印 
2012-08-31 12:01
silent_world
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:258
专家分:1138
注 册:2011-9-24
收藏
得分:0 
最后一个值是多少不重要。
重要的是最后一个的名次太低,都101名了。
2012-08-31 12:32
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:2 
int digit[100];

这里面的100是说有100个元素 但C里面编号是从0开始的 所以其实是0 1 2 3 …… 99
2012-08-31 12:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用qalaaa在2012-8-31 12:01:00的发言:

#include
main()
{
    int c,i;
    int digit[100];
 
    for (i = 0; i <= 100; ++i)
        digit = 0;
    for (c = 0; c <= 100; ++c)
        printf("%d\n",digit[c]);
}我认为打印结果出来应该全部是0的。可以结果出来是这个样子的。
0
0
0
0
0
(中间省略)
0
0
100

最后一个为什么是100呢?好奇怪。我用的是ubuntu12.04

这个错误任何一本C语言的书应该都会讲 建议你好好看书
2012-08-31 12:43
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
呵呵 C语言就是大度 是我的就是我的 不是我的我也不强求~~

梅尚程荀
马谭杨奚







                                                       
2012-08-31 12:47
Nuistlong
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2012-7-31
收藏
得分:2 
数组越界了吧。
2012-08-31 13:36
sxmdty
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2012-8-6
收藏
得分:2 
i和c都改成<100就对啦,看见这个问题我感觉我好有成就感
2012-08-31 15:15
zzayy00
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2012-8-31
收藏
得分:0 
照7楼的说法 那是不是说不让超过100呢 只能99?
2012-08-31 15:22
sxmdty
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2012-8-6
收藏
得分:2 
因为数组里有100个数,而编号是从0开始,所以编号到99就完啦
2012-08-31 15:34
张朝成
Rank: 4
等 级:业余侠客
帖 子:149
专家分:265
注 册:2012-3-22
收藏
得分:2 
明显控制循环的语句for (i = 0; i <= 100; ++i)
都比你定义的数组大一个了,所以最后输出的100是垃圾数字,没意义的。
2012-08-31 16:39
快速回复:用for循环printf打印的问题
数据加载中...
 
   



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

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