nynw.net
当前位置:首页 >> Cin.ClEAr Cin.synC >>

Cin.ClEAr Cin.synC

错了,第二次不是没清空,死循环的原因是:while(cin.fail());。while(cin.fail());使程序陷入死循环你可以看看cin.fail()在什么情况看才是true,基本不会是假。你可以查一下MSDN。 解决方法:do换成while(true),然后最后的while(cin.fail());...

cin.clear(); cin.sync();又没有break,你能用他俩跳出循环? 能不能跳出要看if(nu>0 && h>0 && h

cin.clear()是用来更改cin的状态标示符的。 cin.sync()是用来清除缓存区的数据流的。 如果标示符没有改变那么即使清除了数据流也无法输入。所以两个要联合起来使用。例如: #include using namespace std; int main() { int a; cout

亲~您的代码呢~ 程序正确的话是不会跳过cin的、 只有看了您的代码才能知道具体错在哪里哦·~

提供你一个函数,读一个合法的实数赋值给val: float val; cin>>val; while (cin.fail()) { cin.sync(); cin.clear(); cin>>val; } cout

没有死循环,在等着你输入字符呢,你输入#循环就结束了。

网站首页 | 网站地图
All rights reserved Powered by www.nynw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com