一道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) 展开
A.*(p=p+3)
B. *(a+*(a+5))
C. p[p[4]]
D. *(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,这个是不对的。
对于A:可以看成是这样的a[0+3];因为p相当于a的首地址,就是a的下标0.
对于B可以看成是a[0+a[0+5]].
对于C可以看成是a[a[4]];
对于D的话把a看成一个常量就相当于1=1+3,这个是不对的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定没弄错么 首先C++里没有指针 其次答案不是B么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D,作为数组名的指针,不赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询