设有定义: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;
人气:415 ℃ 时间: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也是整形,可以赋值).
推荐
- 设有定义:int n=0,*p=&n,**q=&p,则下列赋值语句哪个是正确的?A.p=1;B.*q=2;C.q=p;D.*p=5;
- 7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( ).A) p=1; B) *q=2; C) q=p; D) *p
- 9-6已有定义:int i,a[10],*p;,则合法的赋值语句是 A.p=100; B.p=a[5]; C.p=a[2]+2; D.p=a+2;
- 设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )A*p=*q;
- 若有以下定义,则正确的赋值语句是( ) int a,b; float x; A.a=1,b=2 B.b++; C.a=b=5 D.b=int (x)
- 只要系统处于平衡态某一状态函数的值已经确定?对还是错?为什么
- ,把加工一批零件的任务平均分给甲乙两人来完成,同时开工,加工一段时间后,甲、乙分别完成了自己任务的
- 已知椭圆x²/a²+y²/b²=1.离心率e=3/5.椭圆上一点到焦点F(C,0)的最大距离为8.求椭圆方程.
猜你喜欢