0

考虑一下:

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

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

4

3 回答 3

3

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

在您的情况下,在循环iii内可见for,但在循环外不可见。

于 2013-03-01T08:25:40.247 回答
3

因为这相当于:

{
    int iii = 0;
    while(iii < 10){
        cout << iii << " ";
        iii++;
    }
}
于 2013-03-01T08:26:54.767 回答
3

因为以下for

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

相当于以下while

{
    initialization;
    while (condition)
    {
        body;
        increment;
    }
}
于 2013-03-01T08:27:05.470 回答