【发布时间】:2016-10-26 05:55:52
【问题描述】:
下面的代码应该首先提示“键入一个字母:”。按下回车后,输出应显示“您输入:<achar>.”
我正在使用 Jet Brains IDE,CLion。昨天代码按上述方式工作。然而,今天,当我运行代码时,我得到一个空行。如果按下一个键然后回车,我会得到输出:
Letter: You typed: <achar>
但是,如果我在“键入一个字母:”之后放了一个 \n,则提示会显示,但由于 \n 而在下一行输出按下的键。
我已将确切的代码复制到 .c 文件中,在终端中编译并运行它,它按预期运行。
#include <stdio.h>
int main() {
int c;
printf("Type a letter: "); // works if \n used, but jumps to next line when key pressed
c = getchar();
printf("You typed: %c\n", c);
return (0);
}
【问题讨论】:
-
那行得通。但为什么?我认为刷新正在清除使用的内存。但是为什么终端没有问题?如果可以的话,把它作为一个解释的答案,我会把它标记为已回答。谢谢!