循环内定义变量为什么不会重复定义

例如:

int main()
{
    while(1)
    {
        int i = 5;
    }
    return 0;
}

循环一次就定义一次i,为什么编译的时候不会报错重复定义

你想象不到我有多执着
浏览 3298回答 4
4回答

朕日理万机

先不管你这个死循环的问题。这并没有重复定义。除了for循环里第一个初始化语句以外,在循环的其他地方声明的,包括你while循环条件里,以及循环体里声明的变量,都只能维持一次循环。单次循环以后就销毁,进入下次循环会重新声明一个新的。

KevenHuang

确实是重复定义啊,你可以在循环外面先定义好,在循环内直接使用它就可以了,而且你的循环是死循环,注意哦。
打开App,查看更多内容
随时随地看视频慕课网APP