为什么 for 循环没有达到循环的第二个条件中设置的数字
Why does a for loop not reach the number set in the 2nd condition of the loop?
我不明白为什么在 for 循环中使用 int - 如果它初始化为 0 并且您将循环设置为将整数的 int 增加到小于数字的整数 - 如果您每次循环执行时都输出整数 - 它不会上升到您告诉它在 for 循环中递增的数字。
我可能没有在这里非常清楚地表达自己的措辞以最好地帮助您理解,因此请通过示例查看以下链接:
http://codepad.org/doPC6kuI
链接中的输出是 0,1,2,3,4 - 我意识到它是 5 个整数,但 int i 从 0 开始,但在输出之前递增,所以我不明白为什么第一个输出是 0 而不是 1 使其成为 1,2,3,4,5。
令我烦恼的是,我无法合理化这一点或提出合乎逻辑的解释。
示例中的for
循环的工作原理如下:
- 初始化
i = 0
- 在
i < 5
为真时重复:- 执行
for
循环的主体 - 递增
i
- 执行
迭代开始时检查条件,并在每次迭代结束时进行增量。
所以首先i
初始化为 0
,然后检查0 < 5
,这很好,所以我们开始第一次迭代。在迭代结束时,i
递增到 1
,然后它检查该1 < 5
,我们开始第二次迭代,依此类推。在第 5 次迭代结束时,i
递增到 5
,并检查该5 < 5
,这不再为真,因此不再发生迭代。因此,不会发生i
具有值5
的迭代。
你自己说的:
将循环设置为递增小于数字的整数的 int
如果这样做,循环将仅针对小于限制的值运行,而不是限制本身。计数器在每次循环后和检查条件之前递增;所以第一次迭代为 0,第二次迭代为 1,依此类推;然后条件在迭代之前停止它,当它为 5 时。
如果要包含限制,则可以在限制小于或等于限制时进行循环。
相关文章:
- 为什么程序运行时我的第二个循环不执行?
- 一个 2D 数组,并按行存储值.第一个循环用于行索引,第二个循环用于列索引
- 当通过tcp接收编码图像的消息时,zmq在第二个循环中崩溃
- 第二个 while 循环未运行,将值设置为 "nan"
- 为什么在我的程序中的第二个循环时,当它在循环之前循环时不起作用
- 如何在我的代码中修复无穷循环?我认为它跳过了第二个CIN,因此它一直在循环
- 如何在C 循环中找到第二个最大数字
- 虽然循环在第二个循环上不起作用
- 为什么第一个循环的剂量总是比第二个循环快
- 嵌套如果循环跳到第二个,即使第一个不为真
- 为什么我的程序在循环时不会重新进入第二个?C
- 为什么 for 循环没有达到循环的第二个条件中设置的数字
- 无法获得第二个正确循环
- C++字符串流如何在第二个循环中重置它
- 第二个无效响应在我的验证循环中被接受
- 而循环在第二个用户输入C++后停止工作
- 如何在for循环中声明第二个迭代器
- 我的 for 循环第一次正确输入,但第二次不正确,并显示第二个输入的输出。我不明白为什么会这样。
- For循环多个变量,第二个变量不更新
- 程序忽略第二个循环