为什么我不能以这种方式在for循环中定义变量?
通过测试我发现
这是不合法的:
for (int i= 0; i < 1000000000; i++) int j = i & i+1 ; // j cannot be declared here!
但这是:
for (int i= 0; i < 1000000000; i++) { int j = i & i+1 ;
}
为什么?
回答:
第一种方法不合法,因为编译器很明显不能使用j
在那里声明的声明,因为在该for
循环中不能再包含其他语句。基本上,该位置的新变量声明将超出下一个语句的范围,因此没有任何用处。
在第二种情况下,循环后跟花括号,这创建了一个新的作用域,您可以使用该变量。
以上是 为什么我不能以这种方式在for循环中定义变量? 的全部内容, 来源链接: utcz.com/qa/409014.html