若有定义:int a[5],*p=a; 则对a数组元素地址正确引用的是( )。 &a[5] p+2 a++ &a 说详细点谢谢

如题所述

对a数组元素地址正确引用 p+2 。
p指向a首地址(也就是a[0]的地址),p+2就是a[2]的地址,相当于&a[2]。
&a[5]是错的,访问越界了,数组元素最后一个是a[4]。
a表示数组的首地址,本身是地址常量,不能赋值。所以a++是错了。
&a也是错的,a本身就是地址。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-14
若有定义:int a[5],*p=a; 则对a数组元素地址正确引用的是(p+2 )。
&a[5]//错误,因为越界了
p+2 //指针,指向第三个元素的地址,即&a[2],正确
a++ //语法错误,a为地址常量不可++
&a //a本身就是地址,不需要增加&本回答被提问者采纳
相似回答