【C语⾔】清空输⼊缓存区的⼏个⽅法办法⼀:1 scanf("%d", value);2 setbuf(stdin, NULL);将 stdin 输⼊流由默认缓冲区转为⽆缓冲区。这样 scanf() 输⼊完毕后,缓冲区内的东西就消失了。记住我办法⼆:1while ((c = getchar()) != EOF && c != '\n');使⽤ getchar() 不断获得缓冲区内的内容,直到缓冲区空为⽌。建议使⽤这种⽅法。办法三:1 fflush(stdin);这种⽅法不在 C 和 C++ 标准定义⾥,并⾮所有编译器都⽀持这个函数(例如Linux下的GCC就不⽀持),所以代码的可扩展性较差。
发布评论