c - 为什么在嵌套的 'for' 循环中使用相同的变量作为索引变量不会引发警告?

标签 c eclipse visual-c++

我正在使用 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/

相关文章:

java - android开发需要JDK吗

C++ Visual Studio 2010 不链接 native 静态库

c++ - 模板模板成员继承 'using'

c++ - 使用 std::unordered_map 的模板实例化警告

c - OpenCL:对内置函数的调用不明确

java - 如何在 Eclipse 中生成 JNI 头文件

c - 在程序执行期间停止 Linux 控制台回显输入

c++ - 没有一个方法可以解决

c - 根据用户的输入确定随机数的打击次数

有条件地使用带有 armcc 的打包结构(BGLib 中的 PACKSTRUCT)