我試圖建立一個小程序,包括while循環:爲什麼我while循環導致無限輸出
int main() {
int x = 0;
int y = 0;
while (x != '|' || y != '|') {
cout << "Please enter two numbers: \n";
cin >> x >> y;
cout << "You entered: " << x << " and " << y << "\n\n" << endl;
}
return 0;
}
我編譯並與Visual Studio我的兩個窗戶框和我的Linux中運行,而當我的終端/ cmd填補了無限循環無限的填充要求。我搜索了很多地方,找不到明確的答案。我試圖讓無限的同時把break參數放在裏面無濟於事。我有一種感覺,它應該把垂直符號放在一個整數中,但是我的循環運行得很好。我所要求的教訓是,我的解決方法是'好的',但想知道一個乾淨/標準的做法。
你的假設是正確的。如果你期望輸入'''',你不應該使用'int'。我看起來像你還沒有決定你的變量是否持有'char'或'int'。 – 2014-12-11 03:03:10
與您比較的''|''字符的整數值並不是您給予'cin >> x;'字符串「|」時得到的值。 – chris 2014-12-11 03:04:33