使用户每次在C中仅按一次Enter

问题描述 投票:0回答:1

在以下代码中:

#include <stdio.h>

 int main()
 {
    char foo;
    scanf("%c", &foo);
    printf("%c\n", foo);

    getchar();
    return 0;
 }

如果用户输入了任何内容,则getchar()被“忽略”,但是当只按Enter键时,getchar()要求输入。一个可能的解决方案是将第二个getchar()放在第二位,但是如果第一个输入为空,则用户必须按两次Enter键,而且如果第一个输入中有缓冲区,它也将被忽略。我想要的是让用户仅按一次Enter键,无论用户输入什么内容。我已经读过有关fflush(stdin)的信息,但它对我没有用。因此,基本上,是否有办法在getchar()之前清除输入缓冲区以使其起作用?

c
1个回答
0
投票

通过不调用getchar();

© www.soinside.com 2019 - 2024. All rights reserved.