问题 单项选择题

若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。

A.*p=&a; scanf("%lf",p);

B.*p=&a;scanf("%f",p);

C.p=&a; scanf("%lf",*p);

D.p=&a; scanf("%lf",p);

答案

参考答案:D

解析:p=&a 的意思是指将 a 的地址赋给指针变量 p。*p=&a 是错误的书写方式,其正确的表达形式为“int*p=&a;”,它等效于:int *p; p=&a;, scanf()语句的格式是“scanf(格式控制,地址表列)”, 在选项 D 中,“p”本身就代表着一个地址,故选项 D 正确。

判断题
判断题