吆。吆°切克闹℡ 2020-06-04 11:24 采纳率: 0%
浏览 163

while (! (cin >>ival).eof()){ // 输入 'a' 为什么无限循环???

using namespace std;

int main()
{

int ival;
while (! (cin >>ival).eof()){ // 输入 'a' 为什么无限循环???

    if (cin.fail()) { 
        cerr << "bad data, try again"<<endl; 
        //cin.clear();
        continue; 
    }

}

}



  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-04 11:29
    关注

    当输入流读取失败时,它会把字符放回原处,等待下次读取
    所以要加上clear

    评论

报告相同问题?