3个回答
展开全部
这题选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为一个数值而不是一个地址,因此该写法是错误的)
题目中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为一个数值而不是一个地址,因此该写法是错误的)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A,把a[0]的值赋给p指向的元素,对
B,数组名本身就是一个指针,把a指针指向的元素的值赋给p指向的元素,对
C,p指针指向下一个元素,对(此处p写成大写P,我认为是印刷错误,因为C语言中p与P代表不同的变量,所以从严格意义上来讲,写成P也是错误的)
D*a是一个元素值,也就是变量值,他是不能赋给指针p的,p只能放地址,故D是错误的
B,数组名本身就是一个指针,把a指针指向的元素的值赋给p指向的元素,对
C,p指针指向下一个元素,对(此处p写成大写P,我认为是印刷错误,因为C语言中p与P代表不同的变量,所以从严格意义上来讲,写成P也是错误的)
D*a是一个元素值,也就是变量值,他是不能赋给指针p的,p只能放地址,故D是错误的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
D:p的类型是整形变量指针,*a是a[0]的值,所以不能将一个值直接赋给指针
追答
而*p=a[0]和*p=*a都是将a[0]的值赋给p所指向的变量
p=a+1的意思是p的地址在a的地址后面一位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询