2013-08-03 98 views
0

所以我讀的C++入門(第5版),這是他們給解釋while語句的示例代碼:代碼工作正常,但我不明白它的打印

#include <iostream> 
int main() 
{ 
    int sum = 0, val = 1; 
    // keep executing the while as long as val is less than or equal to 10 
    while (val <=10) { 
     sum += val; // assigns sum + val to sum 
     ++val; // add 1 to val 
    } 
    std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl; 
    return 0; 
} 

這是在命令行提示符的程序:

program

我只是不明白的地方,從55來..

是不是它應該是:

sum = 0 
var = 1 
sum = 0 + 1 
var = 1 + 1 
-snip- 
sum = 6 
var = 4 

那麼不應該打印6? 我真的很困惑。

+8

'1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55'。你爲什麼停在4? – rodrigo

+0

哦,我剛剛得到它,它要求變量爲10而不是總和,該死的我幾乎頭痛,因爲我覺得很蠢,我可能真的是。 謝謝! –

回答

4

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

1

它所做的是:

  1. 初始化VAL 1個

  2. 增量VAL,直到它達到在每個迭代

  3. 10本VAL被添加到總結在每次迭代中

  4. 後10次迭代,這總計爲55

仍不清楚,使用調試器,並檢查每個步驟。

+0

用戶rodrigo在評論部分提供了答案。感謝您的時間,這是我只是愚蠢的,沒有錯誤! –

相關問題