【发布时间】:2020-05-13 20:11:53
【问题描述】:
我有一个想要获取用户输入的函数,并一直要求用户输入,直到输入 2 或 3。我现在遇到的一个小问题是,在输入 2 或 3 并按 Enter 后,我需要再次按 Enter 才能继续程序的下一部分。甚至可以使用 getchar 而不会遇到这个问题吗?我一直没能找到合适的解决方案
int getPlayersNumber() {
int numberOfPlayers;
do {
printf("\nHow many players will be playing ? (2 or 3) ");
scanf("%d", &numberOfPlayers);
while (getchar() != '\n');
} while (numberOfPlayers != 2 && numberOfPlayers != 3);
printf("\n");
flushInput();
return numberOfPlayers;
}
【问题讨论】:
-
谢谢,但我现在遇到的问题是,当什么都不输入并按回车键时,程序会卡在这个方法中
-
您对任何答案的反应几乎为零。你有没有试过看他们中的任何一个?