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

admin2009-02-15  22

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

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

答案8

解析 本题考核数组与指针。A选项中,p为指针,数组名a代表数组的首地址,所以p-a就是指针到数组首地址的偏移量。B选项中,&a是取数组a中第i个元素的地址,而对于*(&a,由指针运算符*的运算规则可知,语句*(&a就是返回地
址&a空间中存放的值,也即a。C) 选项,由于指针p已指向数组a,所以p就等于a。这是常用的一种数组元素引用方式。D) 选项是以指针方式对数组元素进行引用,由于a只是代表数组的首地址,并不是指针,所以表达式*(*(a+i)是错误的,正确的引用应该为:*(*(p+i))。
转载请注明原文地址:https://kaotiyun.com/show/V7kp777K
0

随机试题
最新回复(0)