1

例如,我有这段代码:

while(true){
    printf("looping");
    getch();
}

不是在每个循环上等待用户输入,而是在没有我的情况下继续循环;印刷

loop
loop
loop

直到我关闭程序。

有没有更好的方法来读取单个字符?我真正想做的就是让用户输入“y”或“n”

4

3 回答 3

3

只需使用 fgetc。我假设您正在使用它来跳出循环,因此要更新您的示例:

#include <stdio.h>

char iput;

while(true){
    printf("looping");
    iput = fgetc(stdin);
    if(iput == 'n')
      break;
} 
于 2012-08-21T18:13:21.753 回答
0
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
   while(1)
 {
   printf("\nlooping");
   char t=getch();
   if(t=='n')
   exit(0);
 }
}
于 2013-02-18T18:52:03.907 回答
-1

你也可以使用

fflush(stdin) 

在调用 getch 之前

问候

于 2012-08-21T18:22:57.660 回答