【发布时间】:2015-05-02 18:10:05
【问题描述】:
当我看到在某些情况下 C 跳过了一些输入时,我感到很惊讶。就我而言,我使用的是带有 Code::Blocks(xterm) 的 Ubuntu。例如,如果我有以下部分代码:
scanf("%d",&someInt);
getch();
我可以输入一个数字,但是按回车键,它会为 someInt 保存值并自动将 ENTER char 发送到 getch()。我预计我的程序在输入数字并按回车后等待按任意键。但这不会发生。我已经找到了解决方案,但这不是一个好的解决方案。
scanf("%d",&someInt);
getch();
getch();
使用两个 getch() 解决了我的问题。我正在输入数字,我必须按任意键才能继续。为什么会这样?如何解决?
【问题讨论】:
-
您确定您使用的是
getch而不是getchar? -
getchar() ,对不起 :)