2 u010734277 u010734277 于 2013.05.31 16:43 提问

Visual C++里面的重复定义
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循环里面的,为什么会报重复定义?

4个回答

yeruichc
yeruichc   2013.06.03 16:10
已采纳

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

franzhong
franzhong   2013.05.31 18:36

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

for(i=0;i<=......
u010734277
u010734277 我的每个i的定义作用域都只是在for循环里面啊
接近 5 年之前 回复
zhengfuzhe1124
zhengfuzhe1124   2013.07.08 19:01

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

John_ToString
John_ToString   2015.12.05 12:45

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!