我正在使用 Eclipse IDE 和 MSVC 进行 C 开发。 我注意到编译器不会针对在嵌套 for 循环中使用相同的索引变量发出警告。
为什么它不发出警告,我如何检测此类潜在的编程错误?
问候, 斯里尼瓦萨
最佳答案
如果一个变量在 block 中声明并在封闭 block 中重新声明,则新声明会暂时隐藏以前的声明。
int a[5][5];
for(int i = 0; i < 5; i++)
{
for(int i = 0; i < 5; i++)
{
//Previous i is not visible
scanf("%d", &a[i][i]);
}
//No knowledge of i in inner loop.
}
关于c - 为什么在嵌套的 'for' 循环中使用相同的变量作为索引变量不会引发警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27903222/