cin在使用cin.fail()保护时无法在do while循环中工作

时间:2019-03-30 13:59:25

标签: c++

这是我的代码:

do {
    cout << "Enter price: ";
    cin >> price;
    if (cin.fail())
        price = -1;
} while (price < 0);

我真的很茫然。它显示提示并接受输入。负数捕获工作正常,但是当我尝试输入文本流时,超时了。我认为它不应该这样做,因为它应该将我的价格浮动变量设置为-1,然后应该再次遍历do while循环(考虑while条件)。

0 个答案:

没有答案