我在以下代码中遇到问题:
int main()
{
char choice;
char secondChoice;
int howMany = 0;
printf("WHAT WOULD YOU LIKE TO ORDER?\n F- fruitShake\n M- milkShake\n");
choice = getchar();
printf("WHAT SIZE?\n B-big\nS-small\n");
secondChoice = getchar();
printf("how many would you like?\n (choose a number between 1-9)\n");
scanf("%d", &howMany);
system("pause");
return 0;
}
在输入第一个char
(您想要订购的内容)后,哪个正常工作,之后printf
出现并且效果不佳。 (就像它跳过secondChoice = getchar();
)
答案 0 :(得分:2)
我的猜测是它没有跳过,但可能会从您之前的输入中读取换行符(如果您使用Enter键终止输入)。
答案 1 :(得分:0)
请运行下面添加的修改后的代码,并观察该程序是否正常运行并添加了2个语句。
public
使用 fflush(stdin)时请注意,因为我提到的某些来源建议不要使用它。您可以尝试删除fflush(stdin)语句并注意输出中的差异
fflush(stdout);
fflush(stdin);