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