问题 单项选择题

有以下程序:
#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<回车>
45678<回车>
则输出结果是()。

A.1267

B.1256

C.1278

D.1245

答案

参考答案:D

解析: 本题考查的是输入输出函数。scanf()是格式化输入函数;getchar()函数从键盘缓冲区读入下一个字符;putchar(J输出一个字符;printf()函数是格式化输出函数。在题目中,程序执行到scanf()函数时,会暂停等待用户输入4个字符,按题意输入123<回车>后,字符1~3被分别输入到c1-c3中,而c4会得到一个换行符’\n’。然后执行第1个getchar()函数,由于前面的scanf()函数读完了缓冲区中的所有字符,所以此时程序会又暂停等待用户输入,按题意输入45678<回车>后,缓冲区第一个字符4输入到C5,第二个字符5输入到C6,所以本题应该选择D) 。

多项选择题
问答题 简答题