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

时间:2014-02-27 00:07:51

标签: c++ loops for-loop int increment

我不明白为什么,在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。

令我烦恼的是,我无法理解这一点或提出合乎逻辑的解释。

2 个答案:

答案 0 :(得分:1)

示例中的for循环的工作方式如下:

  1. 初始化i = 0
  2. i < 5为真时重复:
    1. 执行for循环
    2. 的正文
    3. 增量i
  3. 在每次迭代开始时检查条件,并在每次迭代结束时进行增量。

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

答案 1 :(得分:0)

你自己说:

  

你设置循环以增加整数小于数字

的整数

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

如果你想要包含限制,那么当它小于或等于限制时你就会循环。