问题
单项选择题
若有定义语句:double X[5]=1.0,2.0,3.0,4.0,5.0,*p=X;,则错误引用x数组元素的是( )。
A) *p
B) X[5]
C) *(p+1)
D) *X
答案
参考答案:B
解析: 本题考查的是通过指针引用数组元素。本题首先定义了一个包含5个double元素的数组X,并定义了一个double指针p指向了该数组。*p表示取p所指地址的内容,即X[0]的内容,所以选项A) 正确;*(p+1)表示取p+1所指地址的内容,即X[1]的内容,所以选项C)正确;*X表示取X所指地址的内容,在C语言中,数组名其实也是一个指针,只不过它所指向的地方不能被改变,所以*x等价于X[0],所以选项D) 也是正确的。因为x数组包含5个元素,所以它的下标范围是0-4,故选项B) 的X[5]溢出了,应该选择B)。