【发布时间】:2017-10-13 19:36:43
【问题描述】:
#include<stdio.h>
int main()
{
printf("Enter a : ");
scanf("%c",&a);
printf("Enter b : ");
scanf("%c",&b);
printf("Enter c : ");
scanf("%c",&c);
printf("Enter d : ");
scanf("%c",&c);
}
输出:
C:\Users\Saran\Desktop>gcc new.c
C:\Users\Saran\Desktop>a
Enter a : s
Enter b : Enter c : c
Enter d :
如果这是我的代码,它首先将 char 放入变量“a”,然后如果我按 enter,则变量“b”将 enter 作为其输入。如何克服这个问题?
【问题讨论】:
-
scanf("%c",&a);-->scanf(" %c",&a); -
另一个选项(不如 scanf("%c"))是在每个 scanf 之后添加 getchar()
-
或者使用
while((c = getchar()) != '\n' && c != EOF);刷新stdin -
或者喜欢this