报错显示 redefinition; multiple initialization

img


为什么会一直报错显示 redefinition; multiple initialization啊

这个错误是由于对变量 'i' 进行了多次初始化导致的。错误出现在第107和146行

  1. 变量 'i' 在同一个作用域内被重复初始化了。请确保你的代码中只在一个地方对 'i' 进行了初始化,并注意避免重复的声明。

  2. 可能在不同的文件或代码块中重复定义了 'i'。如果你在程序的其他地方也定义了名为 'i' 的变量,那么在同一个作用域内重复定义变量会引发这个错误。你可以尝试在使用 'i' 的地方删除重复的定义,或者修改变量名以避免命名冲突。

  3. 如果 'i' 是在循环中声明的,确保你没有在循环体内部重新声明它。在循环中,变量应该在循环之外声明,然后在循环体内部进行初始化和使用。

请仔细检查代码,并确认 'i' 只被初始化一次并且没有重复的定义。如果问题仍然存在,请提供出错的具体代码行或更多上下文信息,以便我能够更好地帮助你解决问题。

变量I重复定义使用,你看看是不是有好几个int i呢

vc++ 6.0不是非常符合现代C++标准
看如下代码

int a[10];
for (int i = 0; i < 10; i++)
    scanf("%d", &a[i]);
for (int i = 0; i < 10; i++)
    printf("%d ", a[i]);

以上代码在现在的编译器一点问题没有,但是VC++6就不行
必须写

int a[10];
int i;
for (i = 0; i < 10; i++)
    scanf("%d", &a[i]);
for (i = 0; i < 10; i++)
    printf("%d ", a[i]);