2017-12-07 16 views
-1
#include <iostream> 
using namespace std; 
int main() 
{ 
double x = 1; 
double y = 2; 
int i = 1; 
do 
{ 
y /= 2.0; 
x+= y; 
++i; 
cout << i; 
} 

while (x < 2.4); 
} 

出力が2になると思っていましたが、それは正しくありません。なぜ誰かが説明できますか?Do-whileループを解く

+3

ループは2回以上実行されます。 –

答えて

0

ループが再度実行されるかどうかを制御する条件を見てください。最初のループの最後では、xの値は2.0です。これは2.4未満であるため、ループは2回目に実行されます。合計でiを2回インクリメントして3にすることを意味します。

関連する問題