[Quote]
/* E5.4 */
#include
int main(void)
{
double data[12][5];
int i=0; //总共有多少个数字
double row=2.0; //初始数字
for(i=0;i<=11;i++)
{
data[i][0]=row;
printf(“\n%d\t%.2f”,i,data[i][0]);
row=row+0.1;
}
return 0;
}
[/QUOTE]
我是C的初学者,这个程序本身没有问题,是一本教材当中的例程。
出于测试的目的,我把 for(i=0;i<=11;i++) 中的 11, 逐一的往上加,12,13,14的话,程序都报错,出现
[Quote]
应用程序错误
0×40099999 指令引用的0×40099999内存。该内存不能为”read”
要终止程序,请单击确定
要调试程序,请单击取消
[/Quote]
这里我也能理解,因为超出了数组定义的范围,
但是继续增加i, 15,16,17, 18……..之后的话,程序又可以正常的运行了。
这我就非常不理解了,特此求教大家。
说说我的环境:
安装c-free后怎么调试都不通,所以用editplus写C,
编译的话 还是用的c-free安装目录下的gcc
[Quote]
[/Quote]