在学习 C++ 时,我在循环中遇到了一个我无法理解的问题,while即在一个命令上出现无限循环,而忽略其余的“,当键入任何类型的变量时string。 ”
int cint()
{
int are = 0;
cout << "введите длину пароля (от 8 до 128)" << endl;
while (are < 1)
{
cin >> are;
if (are <= 0)
{
cout << "Ошибка, вы ввели не верное число! Пожалуйста введите число ещё раз: ";// команда на которой всё и зацикливается
}
else if (are > 0);
{
break;
}
}
return are;
}
如果您解释程序这种行为的原因或告诉我解决此问题的最佳方法,我将非常高兴。
有什么要理解的?
当您输入不是
intom 的内容时,线程进入 statefail,并且不会读取任何其他内容。are不改变。条件are<1保持为真,are>0相反,为假。循环在转……
这会适合吗?