若有下列定义和语句,则对a数组元素的非法引用是(). int a[2][3],(*pt)[3];pt=a;
A.(pt+1)[2]
B.pt[0][0]
C.(pt[1]+2)
D.*(a[0]+2)
若有下列定义和语句,则对a数组元素的非法引用是(). int a[2][3],(*pt)[3];pt=a;
A.(pt+1)[2]
B.pt[0][0]
C.(pt[1]+2)
D.*(a[0]+2)
先举个栗子:(*a+2)[0]
代表 a[0][2]
如果是 int a[4][3]
(*a+M)[N]
代表 a[(M+N)/3][(M+N)%3]
这种形式很容易出现问题
(*pt+1)[2]
想表达的是 pt[1][2]
,但实际上是 pt[0][3]