易码技术论坛

 找回密码
 加入易码
搜索
查看: 722|回复: 4

一个关于数组的问题!

[复制链接]
发表于 2008-2-14 16:20:47 | 显示全部楼层 |阅读模式
源程序:
struct ID
{
char lv;
};
struct ID id[30];
long addm[15]={0,60,120,240,1000,2000,3000,10000,20000,30000,120,230,120,150,120};
void main()
{
long a;
a=addm[id[2].lv];
printf("%d",a);
getchar();
}
就是这个代码,单独编译可以(在WQX上,用yan的编译器)通过;
但是一旦加了其他很多代码(前提是这写代码正确,20000字节以上)
编译时就提示说超出数组维数,不知道什么回事?是编译器的问题?
发表于 2008-2-14 16:22:12 | 显示全部楼层
不是编译器的问题!!!
 楼主| 发表于 2008-2-14 16:37:57 | 显示全部楼层
你怎么知道?
那是代码的问题咯?
是那里的问题?
 楼主| 发表于 2008-2-14 16:47:30 | 显示全部楼层
顶下,知道的告诉我一下,郁闷中。。。
发表于 2008-2-14 17:51:28 | 显示全部楼层
好像是你定义的struct ID id[30](下标30)
但是你定义的addm[15](下标15)
addm[id[2].lv];
这里有问题吧

或者说当lv取值大于14的时候addm就超标了
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-4-29 07:40 , Processed in 0.011517 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表