C++ 同名局部变量在循环之间保持值

C++ Same name local variables keeping values between loops

我的 C++ 代码中有以下 2 个循环:

for (int hcount = 0; hcount < height; hcount++)
    {
        for (count = 0; count < width; count++)
        {
            cout << character;
        }
        cout << endl;
    }

cout << endl;

for (int hcount = 0; hcount < height; hcount++);
{
    for (count = 0; count < width; count++)
    {
        cout << character;
    }
    cout << endl;
}

我遇到的问题 运行 是在第一个循环中使用变量 hcount 之后,第二个循环中的变量 hcount 将使用它在第一个循环中的值进行初始化。我不确定为什么这是因为两者都被初始化为似乎是局部变量并设置为 0。

问题出在这里:

for (int hcount = 0; hcount < height; hcount++);

您以 ; 结束循环,这是一个空操作。 hcount 在任何情况下都只在循环范围内可见。循环执行后(即;后),内循环开始执行。您的调试器可能会显示 hcount.

所取的最后一个值