若有以下定义,则正确引用数组元素的是()为什么?int a[5],*p=a;A *&a[5] B *a+2 C *(a+2) D *(p+5)

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/05 11:35:35
若有以下定义,则正确引用数组元素的是()为什么?int a[5],*p=a;A *&a[5]         B *a+2          C *(a+2)         D *(p+5)
x͑N@_eVDJ#ʊx ¢ܐF}n܌BB) Rj|9v+xnq g5͙Iye4ЩUKj_g.PȹͳdKGMY:W.37DNEӢ'DNdDCݑ$p IJ(. L/Ia%&Ño-(]i=W;J>%b9uՔS\PoAτ~jPUJ}94H?\- PJf.LLFK tc݃P%ٲH$i$·ը7A}-{7j`RZ3hzt

若有以下定义,则正确引用数组元素的是()为什么?int a[5],*p=a;A *&a[5] B *a+2 C *(a+2) D *(p+5)
若有以下定义,则正确引用数组元素的是()为什么?
int a[5],*p=a;
A *&a[5] B *a+2 C *(a+2) D *(p+5)

若有以下定义,则正确引用数组元素的是()为什么?int a[5],*p=a;A *&a[5] B *a+2 C *(a+2) D *(p+5)
首先明确下a[5]表示5个元素的数组,是a[0]到a[4].
A &取地址后再加指针还是它自己,但是a[5]超出范围了,所以错
B *a就是a[0],所以就是a[0]+2
C 就是a[2]
D 实际也是a[5],超范围了
所以严格来说只取数组中数据的只有C