练习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;
}
sum
或i
的结果为0
。
我的问题是i <= 100
的条件。答案如何0
?
我认为该计划会从-100
一直计算到100
。
答案 0 :(得分:4)
确实从-100
到100
包含所有内容。让我们做一个较短的例子(-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循环可以使它们更难分离认知。