A-A+

有以下程序: #include(stdio.h> main() {char a b C d;

2022-08-05 22:02:55 问答库 阅读 172 次

问题详情

有以下程序: #include(stdio.h> main() {char a,b,C,d; scanf("%c%C",&a,&b); c=getchar();d=getchar(); printf{"%c%c%c%cn",a,b,C,d); } 当执行程序时,按下列方式输入数据(从第l列开始,<CR>代表回车j注意:回车也是 一个字符) 12<CR> 34<CR> 则输出结果是()。
A.1234
B.12
C.12 3
D.12 34请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
当程序调用9etchar时,程序就等着用户接键。用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓)中区中的字符读完为后,才等待用户按键。因此,程序中c的值为输入的第一个回车符。

考点:程序