为什么 for 循环没有达到循环的第二个条件中设置的数字

Why does a for loop not reach the number set in the 2nd condition of the loop?

本文关键字:循环 第二个 条件 设置 数字 for 为什么      更新时间:2023-10-16

我不明白为什么在 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循环的工作原理如下:

  1. 初始化i = 0
  2. i < 5为真时重复:
    1. 执行for循环的主体
    2. 递增i
在每次

迭代开始时检查条件,并在每次迭代结束时进行增量。

所以首先i初始化为 0 ,然后检查0 < 5,这很好,所以我们开始第一次迭代。在迭代结束时,i递增到 1 ,然后它检查该1 < 5,我们开始第二次迭代,依此类推。在第 5 次迭代结束时,i 递增到 5 ,并检查该5 < 5,这不再为真,因此不再发生迭代。因此,不会发生i具有值5的迭代。

你自己说的:

将循环设置为递增小于数字的整数的 int

如果这样做,循环将仅针对小于限制的值运行,而不是限制本身。计数器在每次循环和检查条件之前递增;所以第一次迭代为 0,第二次迭代为 1,依此类推;然后条件在迭代之前停止它,当它为 5 时。

如果要包含限制,则可以在限制小于或等于限制时进行循环。