c语言 - 为什么在这个函数中最后需要 getchar()?我不明白为什么它在那里


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 exitedn");
}

为什么最后的getchar()在这个函数中是必要的?我不明白为什么会在那里

假设您在程序中使用了行缓冲,每次在用户输入的字母之后进行完善,直到点击'x':
T n
H n
我 n
年代 n
x n
只有按下键盘上的ENTER/RETURN键才能发送数据。你应该处理n换行字符,以获得下一个字符,这就是为什么使用getchar()是必要的。

最新更新