c ++中的变量范围

时间:2013-03-01 08:23:40

标签: c++

考虑一下:

for (int iii=0; iii < 10; iii++)
    cout << iii << " ";

为什么iii在第一次迭代之后不会丢失它的值?

3 个答案:

答案 0 :(得分:3)

因为for循环中定义的变量范围是for语句的主体。

在您的情况下,iiifor循环中可见,但不在其外部。

答案 1 :(得分:3)

因为这相当于:

{
    int iii = 0;
    while(iii < 10){
        cout << iii << " ";
        iii++;
    }
}

答案 2 :(得分:3)

因为以下for

for (initialization ; condition ; increment)
{
    body;
}

相当于以下while

{
    initialization;
    while (condition)
    {
        body;
        increment;
    }
}