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;
}
复制代码
posted @   cococo点点  阅读(333)  评论(0)    收藏  举报
编辑推荐:
· 源码浅析:SpringBoot main方法结束为什么程序不停止
· C#性能优化:为何 x * Math.Sqrt(x) 远胜 Math.Pow(x, 1.5)
· 本可避免的P1事故:Nginx变更导致网关请求均响应400
· 还在手写JSON调教大模型?.NET 9有新玩法
· 复杂业务系统线上问题排查过程
阅读排行:
· 2025年:是时候重新认识System.Text.Json了
· .NET 9 的免费午餐:GZip 性能提升38.3%
· 开源新旗舰 GLM-4.5:不想刷榜,只想干活儿
· 优雅的.net REST API之FastEndpoints
· .NET 10 中的新增功能系列文章1——运行时中的新增功能
点击右上角即可分享
微信分享提示
^
关注