為什么輸入一個字符的時候會顯示,輸入正確而不是死回圈呢,求C++大佬

uj5u.com熱心網友回復:
#include <iostream>
int main()
{
int a = -1;
std::cin >> a; // 運行時分別給1和a
std::cout << "a = " << a << std::endl;
std::cout << "istream flag : " << std::cin.fail() << std::endl;
}
當cin讀取失敗后,你不能期待a的值是什么,
此時正巧是0,所以進行if statement。
解決方法:
把cin放入if中,如
if (cin >> a)
{
// what to do if succeed
}
else
{
// what to do if fail
}
uj5u.com熱心網友回復:
哈哈哈,有點思路了,但還是沒太明白,感謝
uj5u.com熱心網友回復:
你使用的是整形,std::cin>>num這里失敗了。所以不能確定num的值轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/8139.html
標籤:C++ 語言
上一篇:新手c語言提問
下一篇:c語言前綴
