c语言数组的范围问题:比如定义数组为 char i[4]; 那么它的范围到底是从0开始还是从1开始?

问题描述:

c语言数组的范围问题:比如定义数组为 char i[4]; 那么它的范围到底是从0开始还是从1开始?
即:i[0],i[1],i[2],i[3] 还是:i[1],i[2],i[3],i[4]
因为我下面要用for来给他们赋值
for(j=4,j>0,j--){i[j]=0;}----范围是0到3,4个单元
for(j=5,j>1,j--){i[j]=0;}----范围是1到4,4个单元
请问到底是哪个?
1个回答 分类:综合 2014-11-19

问题解答:

我来补答
c语言下标是从0开始,定义数组为 char i[4]; 则数组元素是:i[0],i[1],i[2],i[3]
另外:你的for(j=4,j>0,j--){i[j]=0;} 范围是1到4,4个单元,应该改成:for(j=3,j>=0,j--){i[j]=0;}
同样,for(j=5,j>1,j--){i[j]=0;}的范围也不是1到4,而是5到2!因为j=1,循环就中止了!
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识