![](/img/trans.png)
[英]i2c byte write function, how works this code? I can´t understand complety
[英]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
它的作用是:
將val初始化為1
遞增val直到每次迭代達到10
此val在每次迭代中相加
經過10次迭代,總計為55。
仍然不清楚,請使用調試器並檢查每個步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.