有以下程序:include(stdio.h>main( ){char a,b,C,d; scanf("%c%C",&a,&b)

11 查阅

有以下程序:

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);

}

当执行程序时,按下列方式输入数据(从第l列开始,<CR>代表回车j注意:回车也是

一个字符)

12<CR>

34<CR>

则输出结果是( )。

A.1234

B.12

C.12 3

D.12 34

参考答案:

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

计算机二级