为什么我的程序没有等待C中的按键(“Enter”)

时间:2016-12-05 11:40:17

标签: c scanf enter

只有当用户在两种情况下按“Enter”时,程序才会继续。但是我的程序不会等待用户按“Enter”,然后转到代码的下一行。

  int T1 ,T2;
  char c1,c2;
  printf("Enter Temperature T1: ");
  scanf("%d",&T1);
  printf("Enter Temperature T2: ");
  scanf("%d",&T2);
  printf("Press Enter after setting temperature T1\n");
  scanf("%c",&c1);
  while(c1 != '\n' && c1 != EOF);
  printf("Press Enter after setting temperature T2\n");
  scanf("%c",&c2);
  while(c2 != '\n' && c2 != EOF);

1 个答案:

答案 0 :(得分:1)

首先,在%c (scanf(" %c",&c1);)之前创建一个空格,因为没有空格的格式会读取下一个字符,即使它是空格,而带空格的格式会跳过空格(包括换行符)和读取下一个不是空格的字符。

其次,我在上面提到的scanf之后的下一个循环将挂起你的代码,所以如果你想执行第二个printf语句,请对它进行注释。