设有定义:int n=0,*p=&n,**q=&p;则一下选项中,正确的赋值语句是()A,P=1B.*q=2 C.q=p D .*p=5

设有定义:int n=0,*p=&n,**q=&p;则一下选项中,正确的赋值语句是()A,P=1B.*q=2 C.q=p D .*p=5
设有定义:int n = 0 ,* p =& n ,** q =& p ;则一下选项中,正确的赋值语句是()A,P =1;B.* q =2; C.q = p; D .* p =5;
其他人气:857 ℃时间:2019-09-27 15:37:30
优质解答
D. 解释: A:因为P是指针,只能赋指针值或者NULL(也即0,就是空指针)给它.其他的都是错误的.这里复制5给它,所以错了. B:因为q是指针的指针(二级指针),只能赋给它一级指针的地址或者NULL.这里给它的是常量,所以这里也错了. C:跟B差不多(给的是p,而p=&n,就是说给q的是n的地址,n是变量地址,不是一级指针地址),所以也错了. D:p是一级指针,保存变量的地址,*是解引用操作,对p解引用之后就等同于其所保存的变量所以(*p=5,在解引用之后可以看成是n=5,因为p=&n,而给n赋值5是正确的,n是整形,5也是整形,可以赋值).
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版