for双循环的小秘密

本人很菜,今天看《C++编程思想》中的一道课后题中说到这样一个问题。修改两层嵌套的for循环的标识符,观察结果变化。

情况1:如下,这样我们会发现,n输出为100,虽然两层循环的标识符都是i,然是两个做管辖的范围不同,具体情况不明~~~求大神解释

int main(int argc,char* argv[])
{
    int n=0;
    int mx;
    for (int i=0;i<10;i++)
    {
        for (int i=0;i<10;i++)
        {
            n++;
        }
    }
    cout<<n<<endl;
}

情况2:如下,n输出10当第一次进入内部循环时,n以10退出,因此直接结束第一次循环。

int main(int argc,char* argv[])
{
    int n=0;
    int mx;
    for (int i=0;i<10;i++)
    {
        for (i=0;i<10;i++)
        {
            n++;
        }
    }
    cout<<n<<endl;
}

你可能感兴趣的:(for)