0
do{
    cout << "your number"; cin >> z;


   if (z > 4){
    cout << "invalid answer" << endl;}
   else if (z == 4){
   cout << " no" << endl;}
   else {
   cout  <<"great!"   << endl; }
} while (z != 3, 2, 1);
}

私の意見では、z が 3 か 2 か 1 になるまで「あなたの番号」を出してください。どうしたの?'

4

2 に答える 2

5
while (z != 3, 2, 1);

while 条件が間違っています。次のようにする必要があります。

while (z != 3 && z != 2 && z != 1);

コンマを使用すると、コンマで区切られたすべての式が評価 (計算) され、最後の式が使用されます。

この場合

(z != 3, 2, 1)

z != 3 を評価し、次に 2 を評価し、最後に 1 を使用します。while は次のようになります。

while(1);

これは無限ループです。

于 2013-10-14T15:11:24.920 に答える