考虑一下:
for (int iii=0; iii < 10; iii++)
cout << iii << " ";
为什么iii在第一次迭代之后不会丢失它的值?
答案 0 :(得分:3)
因为for
循环中定义的变量范围是for
语句的主体。
在您的情况下,iii
在for
循环中可见,但不在其外部。
答案 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;
}
}