#include<bits/stdc++.h>
using namespace std;
int a[50],b[50],c[100],len1,len2,len;
long long int gjdplus(string str1,string str2){
int k,len;
len1 = strlen(str1);
len2 = strlen(str2);
k=0;
for(int i=len1;i>=0;i--){
a[k]=str1[i-1]-48;
k++;
}
k=0;
for(int i=len2;i>=0;i--){
b[k] = str2[i-1]-48;
k++;
}
if(len1,len2)for(int i=len1;i<len2;i++)a[i]=0;
else for(int i=len2;i<len1;i++)b[i]=0;
if(len1>len2)k=len1;else k=len2;
int f=0;
for(int i=0;i<k;i++){
a[i]=a[i]+b[i]+f;
if(a[i]>=10)f=a[i]/10;else f=0;
a[i] = a[i]%10;
}
len = k-1;
if(f!=0){
a[k]=f;
len=k;
cout<<a[k];
}
return len;
}
int main(){
string a,b;
cin>>a>>b;
gjdplus(a,b);
return 0;
}
帮忙看看这个高精度加法,有报错