问题 单项选择题

有以下程序:
#include <stdio.h>
main( )
ehar c1,c2,c3,c4,c5,c6;
scanf( "% c% c% c% c", &c1, &c2, &c3, &c4);
c5 = getehar( ); c6 = getchar( );
putehar(c1); putehar(c2);
printf("%c%c\n", c5, c6);

23 <回车>
45678 <回车>

A.1267

B.1256

C.1278

D.1245

答案

参考答案:D

解析: getchar函数只能接收一个字符,即使输入多个字符也只能将第一个字符读入。当输入123<回车>时:seanf函数分别读人字符’1’、’2’、’3’、’<回车>’;再输入45678<回车>,则getehar读人字符’4’赋值给c5,字符’5’赋值给c6,所以输出结果为1245。

问答题 简答题
单项选择题