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

Dev*_*ned 0 c++ loops for-loop local-variables

我的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;
}
Run Code Online (Sandbox Code Playgroud)

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

vso*_*tco 5

问题出在这里:

for (int hcount = 0; hcount < height; hcount++);
Run Code Online (Sandbox Code Playgroud)

你结束循环;,这是一个无操作.该hcount在任何情况下,只有在循环的范围可见.循环执行后(即之后;),内循环开始执行.您的调试器可能会显示最后一个值hcount.