若有定义语句:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,以下选项中错误引用a数组元素的是(其中 0≤i

admin2015-07-28  22

问题 若有定义语句:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,以下选项中错误引用a数组元素的是(其中 0≤i<10)( )。

选项 A、*(*(a+i))
B、a[ p-a ]
C、p
D、*( &a )

答案A

解析 数组名表示该数组的首地址,*(a+i)表示的是数组a中第二个元素的值,取值运算符*只能对地址取值,不能作用于变量上,选项A)错误;a表示数组a的第一个元素的地址,*p=a则将p指向了数组a的第一个元素的地址,p-a=0,所以a[p-a]即为a[0],p相当于a,选项B)、C)正确;取地址运算符&和取值运算符*互为逆运算,选项D)正确;答案选A)。
转载请注明原文地址:https://kaotiyun.com/show/dKJp777K
0

最新回复(0)