上一次输入的最后有一个回车留在了输入流里面。
使用这个while之前,先用cin.clear()更改cin的状态标示符的,再用cin.ignore()清除缓冲区即可。
cin.clear()
cin.ignore()
cin.clear(); cin.ignore(); while (cin.get() != ‘\n‘);
详细介绍cin的几种方法
https://blog.csdn.net/selina8921/article/details/79067941
使用while((c=cin.get())!='\n')时直接跳过的原因
原文:https://www.cnblogs.com/wasi-991017/p/13143589.html