有以下语句:int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a;。下列对a数组元素的引用 (其中0≤i<10)不正确的是( )。

admin2009-01-15  14

问题 有以下语句:int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a;。下列对a数组元素的引用 (其中0≤i<10)不正确的是(    )。

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

答案8

解析 选项A中,p为指针,数组名a代表数组的首地址,所以p-a就是指针到数组首地址的偏移量。选项B中,p等价于a。选项C中,&a是取数组a中第i个元素的地址,而对于*(&a),由指针运算符“*”的运算规则可知,语句*(&a)就是返回地址&a中存敢的值,即a。选项D是以指针形式对数组元素进行引用,由于a代表数组的首地址,所以 a引代表第i+1个元素的地址,*(a+i)就是该数组元素的值,再对这个值作取内容操作是非法的,所以选项D是错误的。
转载请注明原文地址:https://kaotiyun.com/show/6pkp777K
0

相关试题推荐
最新回复(0)