由於某些原因,這非常簡單while循環保持無限循環。也許我一直在盯着這個太長時間,或者做出了一些真正明顯的,愚蠢的錯誤。有人可以幫我修復代碼嗎?我嘗試輸入「ste」,但它一直給我輸出無效。C++ while循環在無限循環中,即使在正確答案上
while (type1 != "nor" || type1 != "fir" || type1 != "wat" || type1 != "ele" || type1 != "gra" || type1 != "ice" || type1 != "fig"|| type1 != "poi" || type1 != "gro" || type1 != "fly" || type1 != "psy" || type1 != "bug" || type1 != "roc" || type1 != "gho" || type1 != "dra" || type1 != "dar" || type1 != "ste" || type1 != "fai" || type1 != "n/a")
{
cout << "Invalid type. Re-enter type." << endl;
cin >> type1;
}
也許''ste「'從屏幕上掉下來了。用長的線條,你永遠不會知道...... :) – jrok
使用&&,你的條件永遠是真的 – Leeor
[短路評估](http://en.wikipedia.org/wiki/Short-circuit_evaluation)。當你說'a || b',如果'a'爲'true','b'永遠不會被檢查。 – jrok