scanf()中的%c 不能正常输入的问题

Posted on 2016-10-16 09:55  Chopin写字的地方  阅读(274)  评论(0)    收藏  举报
#include <stdio.h>
int main()
{
    char a;
    int b;
    scanf("%d",&b);
    scanf("%c",&a);
/******************************/
    printf("%d",b);
    printf("%c",a);
    return 0;
    /*
    应该输入一个整型一个字符型变
    量,然后把它们输出,但是现在
    只能输入一个整型变量,很蛋疼
    的问题吧!!
    */
}

解决办法:

#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;
}

或者:

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

感谢原作者:http://lib.csdn.net/article/c/25608

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3