C语言,第四题,求解释???

C语言,第四题,求解释???C语言... C语言,第四题,求解释???C语言 展开
 我来答
yzg001212
2016-06-30 · TA获得超过755个赞
知道小有建树答主
回答量:877
采纳率:20%
帮助的人:877万
展开全部
这题选D。
题目中p为一个int型指针,a为一个int数组,且p=a,表示p指向a数组的首地址。
则A:*p=a[0];正确(*p的值就是a[0])
B:*p=*a;正确(效果与A答案一样)
C:p=a+1;正确(将p指针指向a数组首地址的下一个地址:即&a[1])
D:p=*a;错误(p为一个指针,*a为一个数值而不是一个地址,因此该写法是错误的)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Yuqi_Tan

2016-06-30 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3414万
展开全部
A,把a[0]的值赋给p指向的元素,对
B,数组名本身就是一个指针,把a指针指向的元素的值赋给p指向的元素,对
C,p指针指向下一个元素,对(此处p写成大写P,我认为是印刷错误,因为C语言中p与P代表不同的变量,所以从严格意义上来讲,写成P也是错误的)
D*a是一个元素值,也就是变量值,他是不能赋给指针p的,p只能放地址,故D是错误的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海贼罗罗亚zoro
2016-06-30 · TA获得超过140个赞
知道小有建树答主
回答量:256
采纳率:50%
帮助的人:89万
展开全部
D:p的类型是整形变量指针,*a是a[0]的值,所以不能将一个值直接赋给指针
追答
而*p=a[0]和*p=*a都是将a[0]的值赋给p所指向的变量
p=a+1的意思是p的地址在a的地址后面一位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式