一道有关C语言的题目?

如题所述

数组是从0开始的,例如,a[5],分开后就是a[0],a[1],a[2],a[3],a[4]。所以赋值的时候应该是从0开始。
不同于楼上的改法

a[i]=i,改为a[i-1]=i
这样改动最小
同理下面也是
因为没有装程序,不知道跑出来对不对,可以试下
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-23
int a[10] 总共有10个数, 数组角标为0~9 只要是超过9(或者小于0)的都会数组越界
for(int i = 1; i<=10; i++) 改为 for(int i = 0; i<10; i++)
这样改了之后 i是从 0循环到9,第10次是不会进循环的
for(int i = 10; i>=1; i--) 改为 for(int i = 9; i>=0; i--)
这样改了之后 i是从 9循环到0,第10次是不会进循环的
第2个回答  2019-10-23
a[10]的下标范围是0-9吧。

int main(){
int a[10],i;
for (i=0;i<10;i++)
a[i]=i;
for (i=9;i>=0;i--)
cout << a[i] << " ";
return 0;
}
相似回答