C指令未按顺序执行

时间:2016-05-16 19:57:16

标签: c

我是C中真正的新手,但我愿意学习很多东西,而且我写了这个非常简单的程序,要求用户用键盘输入一个数字。在此之前,消息"请用键盘输入一个实数"应该显示消息,并在消息之后向用户确认他们输入的号码的值。 (以下代码)

问题是,当我构建我的可执行文件然后运行它时,它首先要求x的值,并显示消息"请用键盘输入一个实数#34;只有 之后用户输入了一个数字!我做错了什么? 有人可以解释我这种奇怪的行为,因为我按照良好的顺序输入了我的指示吗?

void[] foo() {
  static_assert (false, "Oops");
}

1 个答案:

答案 0 :(得分:4)

程序可能会显示输出以及缓冲线的方式。大多数输出​​将缓冲并显示每行(即输出将被保存,直到看到\n个字符为止。要解决此问题,您可以强制命令刷新fflush(stdout),也可以更改查看输出的方式。这可能意味着在命令行上运行程序。