gpt4 book ai didi

C 跳过 getch

转载 作者:太空宇宙 更新时间:2023-11-04 02:42:59 29 4
gpt4 key购买 nike

当我看到在某些情况下 C 会跳过一些输入时,我感到很惊讶。在我的例子中,我使用的是带有 Code::Blocks(xterm) 的 Ubuntu。例如,如果我有以下部分代码:

scanf("%d",&someInt);
getch();

我可以输入一个数字,但按下 enter,它会保存 someInt 的值并自动将 ENTER char 发送到 getch()。我希望我的程序在输入数字并按回车键后等待按任意键。但这不会发生。我找到了解决此问题的方法,但这不是一个好方法。

scanf("%d",&someInt);
getch();
getch();

使用两个 getch() 它解决了我的问题。我正在输入数字,我必须按任意键才能继续。为什么会这样?如何解决?

最佳答案

getch() 读取一个字符,在您的情况下,它正在读取一个 \n 因为在读取 someint 之后,一个换行符被留在缓冲区。

关于C 跳过 getch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30005758/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com