若有说明语句:int a[ ]= { 1, 2, 3, 4, 5, 6, 7, 8 }, *p=a; 且0≤i≤7

下面四个哪个是对数组元素的错误表示?
A.p+i B.a[p-a] C.*(a+i) D.p[i]

A是错误的。
A是地址与整型相加,本身就是错误的。参照C选项,正确写法可以写成*(p+i),则i代表地址偏移。

B中,先算p-a,即两个地址相减,值为0,则a[p-a]等价于a[0]。
C中,根据i的值进行地址偏移,加上*取出地址中的元素。
D中,p[i]等价于a[i]。

望采纳。
温馨提示:答案为网友推荐,仅供参考