在C中扫描int后无法扫描char变量

时间:2014-10-16 15:08:29

标签: c

我在扫描char变量时遇到问题,我的代码是

#include <stdio.h>
#include <conio.h>

void main() 
{
clrscr();
int a;
float b;
char c;

printf("Enter value for int variable \n");
scanf("%d",&a);

printf("Enter value for float variable \n");
scanf("%f",&b);

printf("Enter value for char variable \n");
scanf("%c",&c); //scanning is automatically skipped !!! 

getch();
}

请告诉我,为什么会发生这种情况,我该怎么做才能解决它!

1 个答案:

答案 0 :(得分:0)

因为存储的输入键按[被视为字符输入]。在第三个getch();之前使用一个scanf()

或者,使用(scanf(" %c",&c);) [注意%c之前的空格],它将在实际输入之前删除任意数量的空白[缓冲]字符。