C ++ Primer练习1.12结果拼图

时间:2013-12-11 03:47:03

标签: c++ visual-c++

练习1.12:以下“for”循环有什么作用? sum的最终值是什么?

适用于上述练习的代码是:

#include < iostream >

int main()    
{    
    int sum = 0;
    for (int i = -100; i <= 100; ++i)
        sum += i;

    std::cout << "sum of i is : " << sum << std::endl;
}

sumi的结果为0

我的问题是i <= 100的条件。答案如何0

我认为该计划会从-100一直计算到100

3 个答案:

答案 0 :(得分:4)

确实从-100100包含所有内容。让我们做一个较短的例子(-2到&lt; = 2):

sum = -2 + -1 + 0 + 1 + 2 = 0
你现在看到了吗?

答案 1 :(得分:1)

它将所有数字从-100添加到100.由于100-100 + 99-99 + ... 1-1 + 0 = 0,总数为0.

答案 2 :(得分:0)

for(<init> ; <test>; <update>) { X;Y;Z; }

松散地转换为

 <init>;  while (<test>) { X;Y;Z; <update>; }  

我们使用for循环而不是while循环,因为它通常很好地将所有循环逻辑放在一个块中,然后所有每个循环在大括号内执行逻辑,其中while循环可以使它们更难分离认知。