帮我解释一下这道题?

不是很理解【例2】(2000年4月)若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i;中 0≤i≤9, 则对a数组元素不正确的引用是( )。A. a[p-a] B. *(&a[i]) C. p[i] D. a[10]
2026年09月23日 22:12
有3个网友回答
网友(1):

D是错的

a[10]是第11个元素,但这数组只有10个
所以越界出错

p-a = 0
*(&a[i]) = a[i]
p[i] = a[i]

所以A,B,C都没错

网友(2):

D

网友(3):

D. a[10] 超出数组下标最大值9