清空缓冲区函数fflush(stdin)主要用于从键盘输入以后接下来需要再次从键盘输入并读取字符,因为上次输入以回车结束’,\n’还保留在缓冲区,因此在下一次使用scanf()或者getchar()来读取的话会把‘\n’读入,因此需要清理缓冲区域。
但是fflush(stdin)在VC6环境能够正常使用,其他编译器不保证可行,VS2017就用不了。
*解决方法
可以使用rewind(stdin)函数来清空缓冲区。
清空缓冲区函数fflush(stdin)主要用于从键盘输入以后接下来需要再次从键盘输入并读取字符,因为上次输入以回车结束’,\n’还保留在缓冲区,因此在下一次使用scanf()或者getchar()来读取的话会把‘\n’读入,因此需要清理缓冲区域。
但是fflush(stdin)在VC6环境能够正常使用,其他编译器不保证可行,VS2017就用不了。
*解决方法
可以使用rewind(stdin)函数来清空缓冲区。