scanf和getchar区别是什么啊?
Q雅 圈内达人 2017-03-17 11:48:14
3025 1 0

scanf和getchar区别是什么啊?这里从第一行到第二行不是换行了吗?换行符不也是字符吗?为啥不选B

问题来自: 字符数组
有以下程序
#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. 1234
B. 12
C. 12
   3
D. 12
   34
答案:C
解析:a为1,b为2,c为回车,d为3。因此选C。

共 1 个回答

    最佳答案

    qqq 资深元老 助教 3033天前

    scanf不读取分隔符,比如换行空格之类,但getchar是任何字符都读取的。

    scanf("%c%c",&a,&b); //这一句就是把1和2分别读取赋值给a和b
      c = getchar(); //这一句是读取12后面的换行符

      d = getchar();//这一句就是读取下一行的第一个3

    所以最后输出abcd是那样的结果。

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题

代码语言