c语言问题

a[4]++ 是什么意思
假设 int a[4]={1,2,3,4}
a[4]+1是多少

崩溃中~~~~~~稍后选最佳答案

a :数组名。
a[4] :是指数组a中的第五个元素,数组都是从0开始的,所以第5个元素是a[4]。
而++的意思就是自加一次,a[4]++ 等价于 a[4]=a[4]+1;
比如说:
定义一个
int a[5]={0,1,2,3,4,5,};此处的a[4]的值是4,即a[4]=4。
当执行 a[4]++; 时原来的a[4]会自加1,变成5,即a[4]=5。
一看哥们就是初学者,好好看书,这些东西书上都有的。。追问

假设 int a[4]={1,2,3,4}
a[4]+1是多少

追答

你定义的是4个元素的数组,而a[4]是指数组中的第五个元素,即:
a[0]为第一个;a[1]为第二个;a[2]为第三个;a[3]为第四个;
你所说的int a[4]={1,2,3,4};只定义了4个元素,所以没有第五个元素,即没有a[4];
所以说你这里是没有a[4]的。

追问

。。。。我打错了 但是这样没有错a[4]等于 默认值0 书上是这么说的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-02
额,前面的都已经解释过了。

针对你补充的问题来讲。
你是有意,让它数组越界的麽?!
int a[4];//最大的下标是a[3]
a[4]是数组越界了,a[4]没有被分配,
你可以尝试去调试测试看看

#include <stdio.h>
void main()
{
int a[4]={1,2,3,4}; //试试查看a[4]是啥东东
printf("%d",a[4]++);
}
第2个回答  2012-01-02
a[4]++ 是什么意思
单独使用相当于a[4]=a[4]+1;
如果在语句中表示,使用增量前的a[4]进行计算,执行完“;”后a[4]=a[4]+1;
第3个回答  2012-01-02
你定义的数组没有 a[4] 的吧
int a[4]={1,2,3,4}只有 a[0],a[1],a[2],a[3]
a[4]越界了,编译器会提示错误的
第4个回答  2012-01-02
a[4]++就是a[4]+1

假设 int a[3]={1,2,3,4}
a[3]+1=4+1=5
第5个回答  2012-01-02
数组a的元素只有4个,分别是a[0],a[1],a[2],a[3],a[4]是不在a的数组里的。
相似回答