簡體   English   中英

While循環無法識別輸入

[英]While Loop Not Recognizing Input

我不知道該怎么辦。 因此,我有一個簡單的while循環,意在允許用戶在意外輸入錯誤的情況下重新輸入數字。 問題是,如果您輸入“ 2”,它將再次循環返回。 我無法,一生都想知道。

void Player::playerPick()
{
    int selection = 0;
    while (selection != (1 || 2))
    {
        cout << "Player 1 or Player 2 (Type [1] or [2])";
        cin >> selection;
    }
}

你寫了:

while (selection != (1 || 2))

這是“選擇不是一兩個時”。

實際正確的英語是“而選擇既不是一,也不是兩個”,在C ++中也是如此:

while (!(selection == 1 || selection == 2))

或者,更簡單地說,“選擇不是一個,選擇不是兩個”:

while (selection != 1 && selection != 2)

表達式1 || 2 1 || 2計算結果為true ,所以你寫的while (selection != true)這是任何非零值的情況下selection

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM