问题 单项选择题

若有说明:int *p,m=5,n;,则以下程序段中正确的是

A) p=&n;scanf("%d",&p);
B) p=&n;scanf("%d",*p)
C) scanf("%d",&n);*p=n;
D) p=&n;*p=m;

答案

参考答案:D

解析: “&”是求址运算符,“*”是指针变量说明符。选项A、B应改为scanf(“%d”,p);选项C中指针变量p未指向某一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。

单项选择题
单项选择题