问题 单项选择题

设有定义:int n=0,*p=&n,**q=&p;,则以下选项中,正确的赋值语句是( )。

A.p=1;

B.*q=2;

C.q=p;

D.*p=5;

答案

参考答案:D

解析: 本题中首先定义了整型变量n,其初值为0,接着定义一个指针变量p并让它指向n,然后定义了一个指向指针的指针变量q,并让它指向p。选项A中将常量1赋给指针p,而p的值应为地址,所以不正确。选项B中*p的值也应为地址,故将常量 2复制给*p不正确。选项C中将p的值赋给q,使q也指向p所指向的存储单元,该存储单元中存放的是常量0,而q被定义为一个指向指针的指针变量,它所指向的存储单元中应该存放的是地址值,故不正确。所以,4个选项中选项D符合题意。

单项选择题
判断题