已知:int x[]={1,3,5,7,9,11},*p=x;则能正确引用数组元素的语句是

AxB*(--p)Cx[6]D*(++p)帮我每个选项分析下BD感觉不是类似吗?我选的时候首先就把BD给排除了... A x B *(--p) C x[6] D*(++p)
帮我每个选项分析下
B D感觉不是类似吗?我选的时候首先就把B D给排除了
展开
 我来答
帐号已注销
2011-06-19 · TA获得超过2807个赞
知道小有建树答主
回答量:559
采纳率:0%
帮助的人:984万
展开全部
A. x是数组名。数组名代表数组首元素的地址,是一个指明针型常量
B. *(--P)是P先自减,再取所指向的元素。但p原先指向首元素x[0],自减后越界了。
C.当一个数组x[]省略了中括号里的数(用来指定数组长度)时,说明花括号里为全部数组元素。所以这个数组只有x[0]~x[5].
D.类似于B,*(++P)取了x[1]的值。 正确。
追问
但如果P取了最后一个数,++之后不也是越界了吗
追答
嗯,没错。我也考虑过,但只能这么说了。1.这是道选择题,这个是最合理的。 2.题目条件里指定了*p=x,所以*(++P)正确是不可否认的,至于后面的就不在这道题考虑中。

呵呵,说个题外话,练习不重能否做出来,重在是否学到知识。既然LZ想到了这点,就说明你在这方面更一步了解了,这不正是达到了练习的目的吗?
无忧网事
2011-06-20 · TA获得超过899个赞
知道小有建树答主
回答量:676
采纳率:100%
帮助的人:287万
展开全部
选择D
A:x是数组名,也是一个地址常量,总是指向数组的开始。
B:--p已经超界了
C:数组x共6 个元素,最后一个元素是x[5],因为C语言数组下标从0开始,所以x[6]也超界
D:正确。实际就是数组x的第二个元素,即x[1],值为3.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ymmymma
2011-06-19 · TA获得超过750个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:52万
展开全部
选d --p就越界了,++p不越界 ;x是地址;x[6]同样也越界
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
召皎03k
2011-06-19 · TA获得超过1872个赞
知道小有建树答主
回答量:3040
采纳率:0%
帮助的人:0
展开全部
D
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式