C++ 无法理解此for循环中的增量

C++ 无法理解此for循环中的增量,c++,for-loop,C++,For Loop,我做了我自己的for循环,我想我会知道答案,哈哈,很明显我不知道。我试图更好地理解for循环,while循环等等,所以我在练习 #include <iostream> using namespace std; int main() { int I; for ( I = 1 ; I<11 ; I += 3) cout << ++I << "," << flush; cout << endl

我做了我自己的for循环,我想我会知道答案,哈哈,很明显我不知道。我试图更好地理解for循环,while循环等等,所以我在练习

#include <iostream>

using namespace std;

int main()
{
    int I;
    for ( I = 1 ; I<11 ; I += 3)
        cout << ++I << "," << flush;
    cout << endl;    
}
现在我认为输出应该是1增加到2,然后再增加到3 所以I=1,+I,2+3=5 那么I=5,+I,6+3=9

因此,在结束之前,输出后面应该是5,9

但当我在VisualStudio2010中编译它时,我得到的输出是2,6,10

我想它先增加到2,然后再增加到3,再加上3,再加上6到7,再加上3得到10

但这对我来说毫无意义,因为为什么不先将2添加到3中

谢谢。

想想

for ( I = 1 ; I<11 ; I += 3)
   cout << ++I << "," << flush;
作为


++I是一个预增量,所以从I=1开始意味着你会得到一个cout我认为如果你这样看它会更清晰。您的for循环相当于:

{ int I=1; 当我<11岁时 { ++一,; outI是一个预增量操作符,因此它首先执行一个增量,然后返回值,因此程序运行如下: 1 I=1,预增量,因此I=2,打印I=>2,然后I+=3=5 2 I=5,预增量,因此I=6,打印I=>6,然后I+=3=9 3 I=9,预增量,因此I=10,打印I=>10,然后I+=3=13
4 I=13,终止。

哦,哇,这是100%完美的解释。我甚至没有想过要这样看它。所以如果是I++的话,我会得到一个最好的尝试,但是是的
for ( I = 1 ; I<11 ; )
{
    cout << ++I << "," << flush;
    I += 3;
}