void getInputData(void) {
char c = 0;
while (c != 'x') {
printf("Enter a letter:");
fflush(stdout);
c = getchar();
printf("You entered: %c \n",c);
fflush(stdout);
getchar();
}
printf("\nYou entered x and the loop exited\n");
}
为什么此功能需要getchar()
?我不知道为什么会这样。
答案 0 :(得分:1)
假设您在程序中使用行缓冲,每次跟随字母完美用户输入,直到点击' x':
牛逼\ n
^ h \ n
我的\ n
小号\ n
X \ n
仅当您从键盘按ENTER / RETURN键时,发送数据才有效。您应该处理\n
换行符以获取下一个字符,这就是为什么必须使用getchar()
。