#include<iostream>
#include<cmath>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
#define maxn 505
struct bigint{
int a[maxn]={0},len=0;
bigint(char x[],int len1):len(len1){
for(int i=0;i<=len-1;i++){
a[i]=x[len-1-i]-'0';
}
};
bigint(int len1){len=len1;};
bigint(){};
int &operator[](int i){
return a[i];
}
void out(){
for(int i=len-1;i>=0;i--){
cout<<a[i];
}
}
void carry(){
for(int i=0;i<=len;i++)
if(a[i]>=10){
a[i]-=10;
a[i+1]++;
}
if(a[len]>0)len++;
}
};
bigint operator+(bigint e,bigint f){
bigint c(max(e.len,f.len));
for(int i=0;i<max(e.len,f.len);i++){
c[i]=e[i]+f[i];
}
c.carry();
return c;
}
int main(){
char e[maxn],f[maxn];
int lene=0,lenf=0;
for(int i=0;;i++){
scanf("%c",&e[i]);
if(e[i]=='\n'){break;}
lene++;
}
for(int i=0;;i++){
scanf("%c",&f[i]);
if(f[i]=='\n'||f[i]==EOF){break;}
lenf++;
}
bigint c1(e,lene);
bigint c2(f,lenf);
bigint c3;
c3=c1+c2;
c3.out();
return 0;
}
请问为什么这段代码全WA呢?第一个测试点本地运行 能过,样例也可以过,是构造函数和运算符重载出了什么问题吗?