我在扫描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();
}
请告诉我,为什么会发生这种情况,我该怎么做才能解决它!
答案 0 :(得分:0)
因为存储的输入键按[被视为字符输入]。在第三个getch();
之前使用一个scanf()
。
或者,使用(scanf(" %c",&c);)
[注意%c
之前的空格],它将在实际输入之前删除任意数量的空白[缓冲]字符。