for循环,循环比它必须多一次

时间:2014-02-22 17:59:56

标签: c++ for-loop codeblocks

我正在研究一个简单的短C ++代码,并且for循环比它更多地循环(使用code :: blocks开发):

#include <iostream>
using namespace std;

int main() {
    int x = 0;
    for (x=10; x<20; x++);
    cout<<x;
    return 0;
}

输出为20,但据我所知,它必须是19。

图片链接:https://drive.google.com/file/d/0B9WsVzm6FTagbC1uNHpMZ1p6SW8/edit?usp=sharing

4 个答案:

答案 0 :(得分:4)

输出正确。第二个语句x<20定义循环是否将被执行。但是,x增加到20,不满足条件并且不执行循环。你的代码在for循环之后输出x变量,这就是为什么20是正确的输出。

答案 1 :(得分:3)

x < 20是为了留在循环内必须满足的条件,这意味着你只会在x >= 20时退出循环,所以当你到达x = 19时因为19 < 20,我还会再次迭代。

答案 2 :(得分:1)

foor环中间部分; x <20;是循环条件。 这意味着如果它不再是真的,它将再次执行x ++。因此,只有当x达到20

时,循环才会停止

答案 3 :(得分:0)

我们可以使用while循环重写您的代码,这可以使其更清晰:

int main() {
    int x = 10;
    while (x < 20)
        x++;
    cout << x << "\n";
    return 0;
}

以这种方式编写时,很明显在迭代时while循环结束了x == 20