while(getchar() != '\n');
这段代码的作用是清空输入缓冲区。
让我们逐步解析:
1. `getchar()` 是一个标准输入函数,用于从标准输入(通常是键盘)读取一个字符。
2. `getchar() != '\n'` 这个条件表示:只要读取的字符不是换行符 `\n`,就继续执行循环体内的操作。
整个 `while` 循环的逻辑是不断读取输入缓冲区中的字符,直到读取到换行符 `\n` 为止。
这样做的目的是清除缓冲区中所有未处理的字符,通常用于处理用户输入错误或多余的字符输入。例如,当用户输入一个字符串后按下回车键,输入缓冲区中可能会留下多余的字符,这段代码可以有效地清除这些多余的字符,确保下一次读取输入时不会受到干扰。
完整的代码片段示例如下:
#include <stdio.h>
int main() {
char c;
// 读取一个字符
c = getchar();
// 清空缓冲区
while(getchar() != '\n')
; // 空语句,什么都不做,只是循环
printf("你输入的字符是:%c\n", c);
return 0;
}
在这个例子中,用户输入一个字符后按下回车键,程序会读取并打印出第一个字符,并清空缓冲区中的所有剩余字符(包括回车符)。