有以下程序 #include<stdio h> main(){char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c",&c1,&c2,&c3,&c4); c5=getchar(); c6=

admin2020-05-19  26

问题 有以下程序
#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、1256
B、1278
C、1245
D、1267

答案C

解析 当用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,print("%c%c\n",c5,c6)输出45。
转载请注明原文地址:https://kaotiyun.com/show/nvCp777K
0

最新回复(0)