C语言scanf与printf?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

C语言scanf与printf?

a123456678 2016-03-23 10:55:50 1333

代码如下 运行环境 VS2013
问题:输入1a 输出a=1 (这个没问题)而ch却什么都没得到。为什么?ch不应是a吗?

 #include<stdio.h>
#include<stdlib.h>
int main()
{
    int a;
    char ch;

    scanf_s("%d", &a);
    printf("a=%d\n",a);

    scanf_s("%c", &ch);
    printf("ch=%c\n",ch);
    system("pause");
    return 0;
}

运行结果附图如下:
screenshot

C语言
分享到
取消 提交回答
全部回答(5)
  • 游客x4uu57rrcwjuo
    2020-03-19 10:56:30

    int main() {

    int a; char ch;

    scanf("%dn", &a); printf("a=%dn",a);

    scanf("%c", &ch); printf("ch=%cn",ch); return 0; } 第一次读入后

    0 0
  • 一生有你llx
    2019-07-17 19:10:32

    int main()
    {

    int a;
    char ch;

    scanf("%dn", &a);
    printf("a=%dn",a);

    scanf("%c", &ch);
    printf("ch=%cn",ch);
    return 0;
    }
    第一次读入后添加换行

    0 0
  • xumaojun
    2019-07-17 19:10:31

    int main()
    {

    int a;
    char ch;

    scanf("%dn", &a);
    printf("a=%dn",a);

    scanf("%c", &ch);
    printf("ch=%cn",ch);
    return 0;
    }
    第一次读入后添加换行

    0 0
  • nothingfinal
    2019-07-17 19:10:31

    include include

    int main()
    {

    int a;
    char ch;

    scanf("%dn", &a);
    printf("a=%dn",a);

    scanf("%c", &ch);
    printf("ch=%cn",ch);
    return 0;
    }
    第一次读入后添加换行

    0 0
  • a123456678
    2019-07-17 19:10:31

    个人比较认可 VS 的情况
    一次输入回车换行,算是本次输入的结束,而不应该响应后续的数据输入与处理。

    当然,各个编译器的处理确实不同。因为你的输入都被获取到了,只是看如何处理。

    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题