在C输入程序中按Enter键

时间:2017-01-12 11:47:51

标签: c input getchar

我一直试图在网站http://www.cprogramming.com/上自学C语言。 我来到需要输入号码的代码。

以下是代码:

#include <stdio.h>

int main()
{
  int this_is_a_number;
  printf( "Please enter a number: " );
  scanf( "%d", &this_is_a_number );
  printf( "You entered %d", this_is_a_number );
  getchar();
  return 0;
}

但是当我运行此命令并尝试在提示符中输入数字时,命令窗口才会关闭。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

scanf读取数字,但保留您在输入流中输入的换行符。

所以getchar立即取出它而不是等待额外的输入。

您可以向getchar添加另一个电话。它可能是您简单程序的最简单的解决方案。

答案 1 :(得分:1)

使用其他getchar();来消费scanf()电话留下的换行符;这样,第二个getchar();保持提示符。

getchar();
getchar();
...

通常,你不需要这个。但是如果你正在运行 exe (通常是Windows)并想在结束时等待(这似乎是这里的情况),这个技巧就可以了。

答案 2 :(得分:-3)

程序没问题,也许编译器安装不正确。