簡體   English   中英

代碼工作正常,但我不明白它顯示的內容

[英]Code works fine but I can't understand what it prints

因此,我正在閱讀C ++ Primer(第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;
}

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

程序

我只是不明白55的來源。

它不應該是:

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

那它不應該打印6嗎? 我真的很困惑

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

它的作用是:

  1. 將val初始化為1

  2. 遞增val直到每次迭代達到10

  3. 此val在每次迭代中相加

  4. 經過10次迭代,總計為55。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM