一道C++题目,求解析

若有说明:inta[]={15,12,-9,28,5,3},*p=a,则下列哪一种表达错误DA.*(p=p+3)B.*(a+*(a+5))C.p[p[4]]D.*(a=a... 若有说明:int a[ ]={15,12,-9, 28,5, 3 },*p=a, 则下列哪一种表达错误D
A.*(p=p+3)
B. *(a+*(a+5))
C. p[p[4]]
D. *(a=a+3)
展开
 我来答
bhtzu
2013-12-07 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4074万
展开全部
D错误,其它正确。
D和A的区别就在于,a作为数组变量,可以当做指针进行地址操作,如*(a+5),但不可进行地址赋值:a=a+3
匿名用户
2013-12-07
展开全部
a是这个数组的首地址,他是不可以被改变的,就相当于一个常量。*p=a;相当于把一个指针p赋值为a;
对于A:可以看成是这样的a[0+3];因为p相当于a的首地址,就是a的下标0.
对于B可以看成是a[0+a[0+5]].
对于C可以看成是a[a[4]];
对于D的话把a看成一个常量就相当于1=1+3,这个是不对的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
phychologist
2013-12-07 · TA获得超过169个赞
知道答主
回答量:100
采纳率:0%
帮助的人:33.8万
展开全部
你确定没弄错么 首先C++里没有指针 其次答案不是B么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
空对空导弹88
2013-12-07 · TA获得超过266个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:164万
展开全部
D,作为数组名的指针,不赋值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式