c语言的问题

若有以下说明,并且0<=i<10,则()是对数组元素的引用的错误引用。inta[]={1,2,3,4,5,6,7,8,9,10},*p=a,i;A、*(a+i)B、a[p... 若有以下说明,并且0<=i<10,则()是对数组元素的引用的错误引用。 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i;
A、*(a+i) B、a[p-a+i] c、p+i D、*(&a[i])
不懂,能给我没个答案讲解以下吗?
展开
 我来答
flameleo11
2010-09-07 · TA获得超过5343个赞
知道大有可为答主
回答量:1943
采纳率:50%
帮助的人:970万
展开全部
楼上错的
首先有个问题,你数组元素初始化后是10个,而你下标索引是 0 -10 是11个,所以用指针加这个I去取元素,肯定会数组越界的,虽然不一定会报错,但是会访问到一个为分配的内存,取出一个随机值。
撇开这个不说,但这个题的考点很明显
A B D 都是正确的 是取元素
C 是指针
所以题目中说的对元素的引用的错误引用就是C
【指针是对元素地址的引用】
【如果你了解了引用的定义,这里就好理解了】
【不过题目出的太垃圾了,文字蹩脚,而且还不严谨】

*(指针名) 取出元素
*(变量地址) 取出元素

&(变量名) 取出地址

数组名[下标索引 0 - 【size-1】] 取出对应的元素。
捡到的幸福
2010-09-07 · TA获得超过1282个赞
知道小有建树答主
回答量:568
采纳率:0%
帮助的人:344万
展开全部
答案是C
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式