我是否可以在Objective-C中的不同for
循环中重复使用相同的变量名?例如:
// This doesn't give me an error but I feel like it should:
for(int i = 0; i < 10; i++){
//do something
}
for (int i = 0; i < 5; i++){ // I'm using "i" again. Is this allowed?
//do something else
}
这编译并且似乎运行良好,但我只是想确保这是合法的并且允许在我的程序中不会引起某种复杂化。我对ObjC很新,但在Java中,我通常会从中获得错误。
答案 0 :(得分:3)
那应该没问题。您显示的代码段中i
的范围仅限于每个for
循环,因此没有冲突。如果你改为这样做:
int i;
for (i = 0; i < 2; i++) {
//...
}
int i;
for (i = 5; i < 10; i++) {
//...
}
然后你会遇到问题,因为你在同一范围内宣布i
两次。
答案 1 :(得分:2)
这很好。因为您没有初始化for循环之外的整数。如果你有两次这样的话:
int i;
for (i = 0; ...)
那么你当然会得到编译错误,因为你不能在同一个块中定义两个具有相同名称的变量。