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

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

解决办法:

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

或者:

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

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

上一篇:[LeetCode] Scramble String(树的问题最易用递归)


下一篇:Android基础之使用Fragment控制切换多个页面[转]