问题
单项选择题
若有说明语句:double*p,a,则能通过scanf语句正确给输入项读入数据的程序段是( )。
A.*p=&a;scanf("%1f",p);
B.*p=&a; scanf("%f",p);
C.p=&a; scanf("%1f",*p);
D.p=&a; scanf("%1f",p);
答案
参考答案:D
解析: double*p,a;语句表示定义了一个指向双精度型的指针变量p和双精度型变量a,而语句p=&a表示将变量a的地址赋给指针变量p;scanf("%1f",p)表示用键盘输入的数赋给指针变量p所指向的地址单元中。scanf()函数要求在输入double型数据,格式控制符必须用%1f(或%le).否则,数据不能正确输入。所以选项D)为正确答案。