选择题
16. 有以下程序:
#include<stdio.h>
main()
{ char a,b,c,d;
scanf("%c%c",&a,&b);
c=getchar();
d=getchar();
printf("%c% c% c% c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符):
12<CR>
34<CR>
则输出结果是______。
A.

B.12
C.1234
D.
【正确答案】
A
【答案解析】 scanf()函数从标准输入输出中读入两个字符“1”和“2”分别赋给变量a和b,遇到回车符自动结束,但回车符已经存入缓冲区,函数getchar()将从中接受回车符,故C赋值为回车符,第二个getchar()读入字符“3”,因此a=1,b=2,c=<CR>,d=3。故答案为选项A。