我是 c 编程新手,我的程序面临这个问题
我有一个循环,从输入缓冲区获取一个字符
while(c = getchar()){
if(c == '\n') break;
if(c == '1') Add();
if(c == '2') getInput(); // this is where the headache starts
....
}
这是 getInput() 函数
void getInput()
{
char ch = getchar();
if(ch == '1') doSomething();
....
}
但是当从 getInput() 函数调用 getchar() 时,它只获取上次调用 getchar() 后留在输入缓冲区中的字符。我想要它做的是获取新输入的字符。
我已经在谷歌上搜索了两个小时,以寻找一种清除输入缓冲区的好方法,但没有任何帮助。因此,非常感谢教程或文章或其他内容的链接,如果有其他方法可以实现,请告诉我。