只要是for循环条件中声明的变量,无论是重新声明
还是直接使用都不行
但是c++是可以重新声明再使用的,我的理解是c++中循环条件中的作用域仅是这个循环,离开循环这个声明就没有任何影响。但是c#为什么是既不可以重新声明,也不可以使用了我不太懂
花括号写出来
这是因为 for (int i = 0; i < 10; i++)这行代码在声明变量i 的时候,去检查当前作用于是否有一个i 的变量。发现有这个变量定义就提示错误了。
但是在接下来i = 1;赋值时,for (int i = 0; i < 10; i++) 中的int i 已经出了作用域。这个变量i未定义造成的错误。
我的建议有两点:
1.如果再循环外还想使用变量。建议在for循环前定义。
2.使用不同名称的变量。