本帖最后由 woxingwosu 于 2015-8-18 13:45 编辑
int main(){ printf("请输入第一个字母:\n"); char a; scanf("%c",&a); // while (getchar()!='\n') { // continue; // } printf("请输入第二个字母:\n"); char ch = getchar(); printf("%c%c",a,ch); } 操作如下: 请输入第一个字母: adfef 请输入第二个字母: a d 如果我在第一次输入时,多输入了好几个字母,而ch会直接读取刚刚多输入的第二个字母。如果输入的是回车,结果如下: 请输入第一个字母: a 请输入第二个字母: a 但是如果加上了: while (getchar()!='\n') { continue; } 便可以清空行缓冲区的内容了。 测试结果如下: 请输入第一个字母: adfefe 请输入第二个字母: fff a f |