C语言 int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 0<=i<=9,对a数组元素引用不正确的是:

A) a[p-a] B)*(&a[i]) C) p[i] D) *(*(a+i)) 答案为D
B 是不是a[i]??
C p[i] 是不是相当于&a[i],这不是在获取元素a[i]的地址吗? 为什么C也正确??
A 中为什么能用用p减a??a[p-a]什么意思??
D 是不是相当于*a[i], 因而不正确??
请高手逐个解答,谢谢!!!

B 是不是a[i]?? //是a[i]

C p[i] 是相当于a[i],这不是在获取元素a[i]的地址吗? 为什么C也正确??// p[i] 是相当于a[i]

A 中为什么能用用p减a??a[p-a]什么意思?? //p的值就是a,所以p-a的值为0,相当于a[0]
D 是不是相当于*a[i], 因而不正确?? //是的*(a+i)就是a[i],那么再*a[i]就错了追问

“获取元素a[i]的地址”也是引用a数组元素吗????

追答

准确的讲,不算。不过,做选择题,不要钻字眼,选相对较好或较差的一个就行了,排除法很管用

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-13
首选 (a+i)就是个地址 一个* 代表 这个地址的数据 也就是数组第 i 个数字
再加个* 就没有意义了。。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网