Visual C++里面的重复定义

我写的杭电的2025题,还没完全写完,但是遇到了一个问题
下面是我写的代码:

#include<iostream>
#include<string.h>
using namespace std;
int main(){
    char a[101];
    while(1){
        cin>>a;
        char max='a';
        int end=strlen(a);
        int t;
        for(int i=0;i<=end;++i){
            if(a[i]>max){t=i;max=a[i]}
        }
        for(int i=0;i<=t;++i){
            cout<<a[i];
        }
        cout<<"(max)";
        for(int i=t+1;i<=strlen(a)-1;++i){cout<<a[i];}
        cout<<endl;
    }
    return 0;
}

会报i重复定义。
但是我的i只是定义在每一个for循环里面的,为什么会报重复定义?

if(a[i]>max){t=i;max=a[i]}
a[i]后面少分号

for循环里的i定义了多次了
除了第一个for,把后面的for循环中的int都去掉

for(i=0;i<=......

vc6.0 编译器会报这种错误,VS上应该不会报这种错误的!只要把后面两个for循环的i定义去掉就行了!

vc6.0版本太低了,已经不使用新的c++标准了...建议用vs高级版本写c++程序