问题 单项选择题

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

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

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

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

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

答案

参考答案:D

解析: 本题考查的是指针的运算和scanf()函数。由于&a表示变量a的地址值,所以应该直接赋给指针变量p而不是它所指向的内容,故选项A) 和B) 可以排除。而scanf()函数除了第1个参数为输入项列表外,其余参数要求为对应变量的地址值,从前一条语句可以看出,指针D中存放的为变量a的地址值,所以直接传给scanf()函数指针变量D就可以了。故应该选择D) 。

多项选择题
判断题