若有以下定义,则对a数组元素的正确引用是_________.int a[5],*p=a; a)*&a[5] b)a+2 c)*(p+5) d)*(a+2)

问题描述:

若有以下定义,则对a数组元素的正确引用是_________.int a[5],*p=a; a)*&a[5] b)a+2 c)*(p+5) d)*(a+2)
若有以下定义,则对a数组元素的正确引用是_________.
int a[5],*p=a;
a)*&a[5] b)a+2 c)*(p+5) d)*(a+2)

答案是 D.
A项,由于 a[5] 已经超出数组外了,所以 *&a[5] 不是 数组元素.
B项,a+2 是a[2]的地址,不是数组元素.
C项,*(p+5)相当于a[5],已经超出数组范围,不是数组元素.
D项,正确,*(a+2)相当于 a[2].