| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 732 人关注过本帖
标题:新人数组问题
只看楼主 加入收藏
michaelyj
Rank: 1
来 自:上海
等 级:新手上路
帖 子:55
专家分:0
注 册:2009-10-27
结帖率:88.24%
收藏
已结贴  问题点数:10 回复次数:6 
新人数组问题
int i;
int ndigit[10];

for(i=0; i <=10; ++i)
    ndigit[i] = 0;

数组下标不是不能为变量吗?为什么书上这段代码还合法?

声明ndigit时下标里不是已经有10了吗?为什么下面要变成ndigit[i]?又没有声明过怎么能随意变成i呢?

书上数组没有详细介绍,不是很懂,请教!
2009-12-20 00:59
bjhubingtao
Rank: 2
等 级:论坛游民
帖 子:1
专家分:10
注 册:2009-12-17
收藏
得分:10 
1.在定义数组时下标不能为变量
如下才是错误的:
int n=10;
int ndigit[n];
2.for循环里i<10而不是<=10


2009-12-20 01:49
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
数组的长度不能是变量,所以在初始化的时候必须有确定的数值。而对其中的元素处理时是可以用变量的,元素下标肯定小于数组的长度了。
2009-12-20 10:09
qfyzy
Rank: 2
等 级:论坛游民
威 望:1
帖 子:380
专家分:86
注 册:2008-2-17
收藏
得分:0 
这段程序可能引起死循环~

当对C的经验增加时,它会显的很好用.----Dennis M Ritche如是说
2009-12-20 12:10
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
收藏
得分:0 
数组元素引用可以是变量但一般都赋值且为整型数。
2009-12-20 12:49
aihuaqiong
Rank: 2
等 级:论坛游民
帖 子:17
专家分:16
注 册:2009-10-21
收藏
得分:0 
楼主的数组下标是从a[1]开始到a[9]吧!
2009-12-20 13:05
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
一楼正解,
书上的定义数组那里是正确的。
只是循环有错误。应该是i<10,i<=10的话明显的经过循环以后这个数组溢出了,a[10]这个数组中的元素为a[0]~a[9],a[10]这个元素没有指定的内存地址,
2009-12-20 14:30
快速回复:新人数组问题
数据加载中...
 
   



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

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