此不接受任何答案:滯留在無限while循環,做什麼
cout << "Restart yes or no: ";
cin >> retry;
while (retry != "yes" or retry != "no"){
cout << "Restart yes or no: ";
cin >> retry;
system("cls");
}
如果有人能提供替代/修復它,將不勝感激。
此不接受任何答案:滯留在無限while循環,做什麼
cout << "Restart yes or no: ";
cin >> retry;
while (retry != "yes" or retry != "no"){
cout << "Restart yes or no: ";
cin >> retry;
system("cls");
}
如果有人能提供替代/修復它,將不勝感激。
您的代碼有retry != yes or retry != no
。這種情況是一種重言式,因此總會被評估爲真實。
編輯您的代碼:
cout << "Restart yes or no: ";
cin >> retry;
while (retry != "no"){
cout << "Restart yes or no: ";
cin >> retry;
system("cls");
}
如果你的意思是循環直到yes
或no
被接收,那麼while
循環應該運行,直到輸入的字符串不等於任。您的意思是使用邏輯AND代替OR。該代碼應閱讀:
while (retry != "yes" && retry != "no"){
每字符串是無論從"yes"
或"no"
不同。你的意思是環路,只要該字符串是從不同的兩個"yes"
和"no"
- 這意味着使用邏輯「與」操作,而不是「或」運算符:
while (retry != "yes" && retry != "no") {
我喜歡你不只是找出問題所在,同時也給出了邏輯規則的名稱。 – Feign