zoukankan      html  css  js  c++  java
  • scanf()中的%c 不能正常输入的问题

    #include <stdio.h>
    int main()
    {
        char a;
        int b;
        scanf("%d",&b);
        scanf("%c",&a);
    /******************************/
        printf("%d",b);
        printf("%c",a);
        return 0;
        /*
        应该输入一个整型一个字符型变
        量,然后把它们输出,但是现在
        只能输入一个整型变量,很蛋疼
        的问题吧!!
        */
    }
    

      

    %c是在缓冲区内找到一个字符赋值给变量。输入变量时一般用回车来结束也就是“ ”,它也属于一个字符被写入了缓冲区内所以被赋值给变量了,就不用你输入了。

     1.可以这样解决

    #include <stdio.h>
    int main()
    {
        char a;
        int b;
        scanf("%d",&b);
        getchar();//   getchar作用和%c一样,这样就能去除干扰了
        scanf("%c",&a);
    /******************************/
        printf("%d",b);
        printf("%c",a);
        return 0;
    }
    

      2.或这样

    #include <stdio.h>
    int main()
    {
        char a;
        int b;
        scanf("%d
    ",&b);
        //在输入流中强制加一个换行符
        scanf("%c",&a);
    /******************************/
        printf("%d",b);
        printf("%c",a);
        return 0;
    }
    

      

  • 相关阅读:
    mvc:三
    mvc:二
    Linq分组,linq方法分组
    Linq 中按照多个值进行分组(GroupBy)
    Photoshop 字体
    报表Reporting S而vice是 错误的解决
    1*书籍装帧
    photoshop 魔术橡皮擦
    Photoshop 钢笔 双窗口显示
    数字格式化
  • 原文地址:https://www.cnblogs.com/Roni-i/p/8151121.html
Copyright © 2011-2022 走看看