问题详情

有下列程序: #include <stdio.h> main( ) { char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1);putchar(c2); printf("%c%c ",c5,c6); } 程序运行后,若从键盘输入(从第1列开始) 123<CR> 45678<CR> 则输出结果是( )。


A、1267

B、1256

C、1278

D、1245

时间:2022-01-06 20:45 关键词:

答案解析

D
解析:当用scanf函数从键盘愉入数据时,每行数据的末尾按下回车键(Enter键)之前,可以任意修改。但按下回车键putchar(c1)(Enter键)之后,scanf函数即接受了这一行数据,不能再回去修改。所以本题中,当输入123CR>时,变量c1、c2、c3的值分别为1、2、 3,当输入45678CR>时,变量c5、c6的值4和5。所以用输出函数putchar(c1)输出1,putchar(c2)输出2,printf("%c%c\n,c5,c6)输出45。所以选项D)为正确答案。