问题 单项选择题

若有说明: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未指向一确定的内存单元,不能为其赋值,并且这样做很危险,建议不使用。

单项选择题
多项选择题