方法一:使用fflush(stdin)清除缓冲区内容。 但是C和C++的标准里从来没有定义过 fflush(stdin),某些编译器(如VC6)支持用 fflush(stdin) 来清空输入缓冲,但是并非所有编译器都要支持这个功能(linux 下的 gcc 就不支持)
方法二:while(getchar() != ‘\n’);
方法三:使用setbuf(stdin,null);可以使stdin输入流由默认缓冲区转为无缓冲区,这样scanf输入完毕后,缓冲区内的东西就消失了
方法一:使用fflush(stdin)清除缓冲区内容。 但是C和C++的标准里从来没有定义过 fflush(stdin),某些编译器(如VC6)支持用 fflush(stdin) 来清空输入缓冲,但是并非所有编译器都要支持这个功能(linux 下的 gcc 就不支持)
方法二:while(getchar() != ‘\n’);
方法三:使用setbuf(stdin,null);可以使stdin输入流由默认缓冲区转为无缓冲区,这样scanf输入完毕后,缓冲区内的东西就消失了
2万+

被折叠的 条评论
为什么被折叠?