在下面的循环中,如果我们输入字符作为cin输入而不是预期的数字,那么它将进入无限循环.有人可以向我解释为什么会这样吗?
当我们使用时cin,如果输入不是数字,那么有没有办法检测到这一点以避免上述问题?
unsigned long ul_x1, ul_x2;
while (1)
{
cin >> ul_x1 >> ul_x2;
cout << "ux_x1 is " << ul_x1 << endl << "ul_x2 is " << ul_x2 << endl;
}
Run Code Online (Sandbox Code Playgroud) 我正在做一个银行系统项目,需要确保每个输入都是有效的(程序必须健壮)。如果输入无效,则用户必须再次输入。
但是当我有一个int类型的变量并且用户输入char类型时,一个无限循环就开始了。
例如:
int i;
cin>>i;
Run Code Online (Sandbox Code Playgroud)
如果用户进入char无限循环开始。我怎样才能避免它并再次要求用户输入?
谢谢