单选题
有下列程序:
#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/n",c5,c6) ;
程序运行后,若从键盘输入(从第1列开始)
123<CR>
45678<CR>
则输出结果是( )。
【正确答案】
D
【答案解析】[解析] 当用scanf函数从键盘输入数据时,每行数据的末尾按下回车键(Enter键)之前,可以任意修改。但按下回车键putchar(c1) (Enter键)之后,scanf函数即接受了这一行数据,不能再回去修改。所以本题中,当输入123<CR>时,变量c1、c2、c3的值分别为1、2、3,当输入45678<CR>时,变量c5、c6的值4和5。所以用输出函数putchar(c1)输出1,putchar(c2)输出2, printf("%c%c/n",c5,c6)输出45。所以选项D)为正确答案。