我有以下if語句,其中兩個似乎不工作。當我嘗試將它與單個字符「y」或「n」進行比較時,我不明白它爲什麼會起作用,但當我試圖將其與另一個語句中的兩個字符進行比較時,我不明白它爲什麼起作用。其他如果字符串比較問題
我最後的問題是,如果有更好的更清潔的方式來寫這個或如果這可以接受一個簡單的提示檢查?
getline(cin,somestr);
if(somestr.empty()){
//do this
}
else if (somestr == "y" || "Y"){
//do something else
}
else if (somestr == "n" || "N"){
//do something else
}
else{}
有趣的是,當我在童年時使用BASIC時,我認爲「或」就像那樣工作。花了我多年的時間和互聯網瞭解我的錯誤... – Klaim 2010-07-14 20:42:18