我有一个while语句不停地重复文本而不给用户输入另一个值的机会。我究竟做错了什么?它仍然没有要求输入。我需要代码来显示文本一次,然后要求输入。据推测,如果您键入除1之外的任何内容,则会重复该顺序。但是,因为它代表它只是踢你出循环,而不纠正行动的机会(由于上一次编辑,见下文)。虽然语句不会停止
int action = 0;
while (action != 1)
{
cout << " No you must look it might be dangerous" << endl;
cin >> action;
}
一个建议是:
while (action != 1)
{
cout << " No you must look it might be dangerous" << endl;
cin >> action;
cin.ignore();
}
这仍然一遍又一遍地产生文本。
while (action != 1)
{
cout << " No you must look it might be dangerous" << endl;
if (!(cin >> action))
// ...problems in the I/O stream...
break;
}
这一个踢你没有机会输入一个新的动作。
“行动”在哪里定义? – user2357112
错字,它是行动= 0; – user2626532
你有没有试过,getline(cin,action); – btse