有以下程序: #include<stdio.h> main() {char a,b,c,d; scanf("%c%c",&a,&b); c=getchar(); d=getehar(); printf("%c%c%c%c\n",a,b,c,d); } 当执

admin2016-05-26  6

问题 有以下程序:
#include<stdio.h>
main()
{char a,b,c,d;
scanf("%c%c",&a,&b);
c=getchar();
d=getehar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)
12<CR>
34<CR>
则输出结果是(    )。

选项 A、12
3
B、12
C、1234
D、12
34

答案A

解析 scanf()函数从标准输入输出中读入两个字符’1’、’2’分别赋给变量a、b,遇到回车自动结束,但回车符已经存人缓冲区,函数getchar()将从中接受了回车符,故c赋值为回车符,第二个getchar()读入字符’3’,因此a=’1’,b=’2’,c=<CR>,d=’3’。故答案为A选项。
转载请注明原文地址:https://kaotiyun.com/show/CfID777K
0

相关试题推荐
最新回复(0)