若有以下定义,则正确引用数组元素的是()为什么?int a[5],*p=a;A *&a[5] B *a+2 C *(a+2) D *(p+5)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 11:44:34

若有以下定义,则正确引用数组元素的是()为什么?int a[5],*p=a;A *&a[5] B *a+2 C *(a+2) D *(p+5)
若有以下定义,则正确引用数组元素的是()为什么?
int a[5],*p=a;
A *&a[5] B *a+2 C *(a+2) D *(p+5)

若有以下定义,则正确引用数组元素的是()为什么?int a[5],*p=a;A *&a[5] B *a+2 C *(a+2) D *(p+5)
首先明确下a[5]表示5个元素的数组,是a[0]到a[4].
A &取地址后再加指针还是它自己,但是a[5]超出范围了,所以错
B *a就是a[0],所以就是a[0]+2
C 就是a[2]
D 实际也是a[5],超范围了
所以严格来说只取数组中数据的只有C