为什么在 for 循环中更改变量后变量不会更改?

Gre*_*rey 2 c++ for-loop

这是我的代码

#include <iostream>

int main()
{
    int j = 1;
    for (int i=0, j=1; i<10; i++)
    {
        std::cout << j << std::endl;
        j++;
    }
    std::cout << j << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

2
3
4
5
6
7
8
9
10
11
1
Run Code Online (Sandbox Code Playgroud)

我只想知道为什么 j 的值没有改变

Mik*_*CAT 5

你有两个变量j

    int j = 1; // 1st "j" here
    for (int i=0, j=1; i<10; i++) // 2nd "j" here
Run Code Online (Sandbox Code Playgroud)

您正在j循环中修改 2nd并在循环j后打印 1st 。

  • @Jeffrey我认为在这种情况下它应该只是“for (int i=0; i&lt;10; i++)”,因为“j”在声明时已经初始化为“1”。 (2认同)