有以下程序 #include <stdio.h> main() { char a,b,c,d; scanf("%c%c",&a, &b); c=getchar(); d=getchar(

admin2020-11-27  27

问题 有以下程序
    #include <stdio.h>
    main()
    {  char  a,b,c,d;
       scanf("%c%c",&a, &b);
       c=getchar();
       d=getchar();
       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://jikaoti.com/ti/gUD0FFFM
0

最新回复(0)