C语言求助!

[复制链接]
查看11 | 回复2 | 2013-7-6 10:17:38 | 显示全部楼层 |阅读模式
刚才看了一下,你的这个数组有点问题。首先你只有25个元素,也就是说,下标是从0~24.当循环i=24的时候,你的a[i+1]=a+1;这句话就会读取到a[25].所以发生错误。所以你的i只能到23.但是如果知道23,你的printf就只能输出到a[23]估计不是你想要的所以我建议改成如下形式。for(int i = 1;i <= 24;i++){
a = a[i-1]+1;
printf("a[%d]=%d\n",i,a);}至于你的i为什么会被更改,这个涉及到栈空间的数据存储问题。简单的说,i和数组a是相邻存储的。a[25]的位置实际上存储的就是i。a[25...
回复

使用道具 举报

千问 | 2013-7-6 10:17:38 | 显示全部楼层
a[25] 那么,下标是 0 -24.当i = 24时,a[i+1] 就为25,越界了,而且你的循环到25,那么会算到a【26】...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行