已知定义 int a [4][5],(*p)[5]=a;则对数组元素正确的引用时:A.p+1 B.*(p+3) C.*(p+1)+3 D.*(*p+2)

2025-01-04 11:03:21
推荐回答(3个)
回答1:

教你个简便的方法。
*(p+i)等价于p[i],反过来也成立。只要把答案试下就知道了。
p=a
A . p+1=&*(p+1)=&p[1]=&a[1],(取地址和显示内容是两个相反的操作,可以互相抵消的)
B. *(p+3)=p[3]=a[3]
C. *(p+1)+3=p[1]+3=&*(p[1]+3)=&p[1][3]=&a[1][3]
D. *(*p+2)=*(*(p+0)+2)=*(p[0]+2)=p[0][2]=a[0][2]。
选D

回答2:

D是对的,选择的是a[0][2],相当于*(*(p+0)+2)

回答3:

d是对的.把A赋值给数组指针,下标的引用是*(*(p+n)+n) 或者a[n][n] 说的很清楚了