实现大加法器,输入a+b返回其值,a,b长度在0-1000之间,如: 输入:100000+10000000=1000100000
求大佬帮忙看看,我这个哪里不对劲呀,跑出来只有一部分有啥,剩下的输出不出来
#include<bits/stdc++.h>
using namespace std;
int main(){
char s1[1000],s2[1000];
while(cin>>s1>>s2){
int l1=strlen(s1);
char s[1000]={};
int l2=strlen(s);
reverse(s1,s1+l1); //将两个字符串颠倒
reverse(s2,s2+l2);
if(l1>=l2){ //如果l1更长
for(int i=0;i<l2;i++){
s[i]=char((s1[i]-'0')+(s2[i]-'0'));
}
for(int i=l2;i<l1;i++){
s[i]=s1[i];
}
for(int i=l1-1;i>=0;i--){
cout<<s[i];
}
}
else{ //如果l2更长
for(int i=0;i<l1;i++){
s[i]=char((s1[i]-'0')+(s2[i]-'0'));
}
for(int i=l1;i<l2;i++){
s[i]=s2[i];
}
for(int i=l2-1;i>=0;i--){
cout<<s[i];
}
}
}
return 0;
}