a的范围是什么while
and for
loop?
例如,如果我在循环中声明了一个对象,它的行为是什么以及为什么?
在以下示例中,循环的每次迭代都会销毁并重新创建所有变量,除了i
,它在循环迭代之间持续存在,并且可用于 for 循环中的条件表达式和最终表达式。循环外部没有任何变量可用。 for 循环体内变量的销毁发生在i
是递增的。
while(int a = foo()) {
int b = a+1;
}
for(int i=0;
i<10; // conditional expression has access to i
++i) // final expression has access to i
{
int j = 2*i;
}
至于为什么;循环实际上采用单个语句作为其主体,只是碰巧有一个由花括号创建的称为复合语句的语句。在任何复合语句中创建的变量的范围仅限于复合语句本身。所以这确实不是循环的特殊规则。
对于作为循环或选择语句本身的一部分创建的变量,循环和选择语句确实有自己的规则。这些只是根据设计师认为最有用的东西来设计的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)