为什么getchar()终止我的第二个getchar()读取

时间:2017-12-08 06:37:49

标签: c getchar

无法理解为什么?

#include <stdio.h>

int main()
{
      int i;
      printf("\n\nEnter 1st value : ");
      i=getchar();
      printf("\nvalue you've entered is \'%c\'\n\n", i);
      printf("Enter 2nd value : ");
      i=getchar();
      printf("\nvalue you've entered is \'%c\'\n", i);
      return 0;
}

以上代码不允许我输入第二个值。它终止于'Hit ENTER to continue'

我在第二个值行的上方放置了一个空白getchar() ...并且中提了突然工作的代码......它为两个值寻找输入

我很困惑......

如果没有,意外引入空白getchar()我失去了试图找出上述代码中的错误...

此代码有效,但不知道为什么需要空getchar()行???

#include <stdio.h>

int main()
{
      int i;
      printf("\n\nEnter 1st value : ");
      i=getchar();
      printf("\nvalue you've entered is \'%c\'\n\n", i);
      getchar();    // why is it necessary to add this line ???
      printf("Enter 2nd value : ");
      i=getchar();
      printf("\nvalue you've entered is \'%c\'\n", i);
      return 0;

}

0 个答案:

没有答案