考虑一下:
for (int iii=0; iii < 10; iii++)
cout << iii << " ";
为什么 iii 在第一次迭代后不会失去它的价值?
for
因为循环中定义的变量范围是该for
语句的主体。
在您的情况下,在循环iii
内可见for
,但在循环外不可见。
因为这相当于:
{
int iii = 0;
while(iii < 10){
cout << iii << " ";
iii++;
}
}
因为以下for
for (initialization ; condition ; increment)
{
body;
}
相当于以下while
{
initialization;
while (condition)
{
body;
increment;
}
}