源码
#include<iostream>
using namespace std;
int main()
{
int a;
cin >> a;
while(cin.fail())
{
cin.clear();
cin.ignore(100000,’\n’)
cin >> a;
}
}
代码解释
cin.clear()
把cin的错误状态恢复正确,告诉标准库继续读区。比如:输入为EOF时,可以用这条命令清除。cin.ignore(a,ch)
表示:如果输入字符或者数字的个数超过数值a
,则在缓存中忽略前a
个输入,否则在缓存中忽略字符ch
前的所有输入。cin.ignore(100000,’\n’)
实际起到的作用是将所有输入从缓存中清除出去。