数组的地址问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 08:42:51
在c语言中,若定义"int a[10]",则____不能表示a[1]的地址。
A.a+1
B.&a[0]+1
C.a++
D.&a[1]
这道题的选择什么?为什么?请详细解答,谢谢!
我选择的是b,答案却说是c

C的编译器对指针加一的操作,事实上不是只加了1,而是加上了一个元素的长度.而自增的操作编译器就只对变量加上1.

B 选项同A 一样

正确答案为C
a++, 为自增运算符, 先返回a[0]的地址, 然后再将a的地址指向a[1]

I++
这个是先取 I 后再进行自加 要是++I就好了!!
a[1]这是本身这一个这个数!!而&a[1]即取这个数的地址阿!
a+1想当于a[1]
B 项这是把他当成了一个一维的数组!!这样就是第一行第一个!!

放在后面的++是“先用a的值,用完后加1”。所以取到的是a的地址~

如果是++a,就对了。