各位帮忙看看这高精度加怎么错了
#include<iostream>#include<string.h>
using namespace std;
int main()
{
char a[1000];
int b[1000],c[1000];
int l,l2,i;
l=strlen(a);
for (i=0; i<l; i++)
b[i]=a[l-i-1]-'0';
cin>>a;
l2=strlen(a);
for (i=0; i<l2; i++)
c[i]=a[l2-i-1]-'0';
if (l2<=l)
for (i=l2;i<l;i++)
c[i]=0;
else
{
for (i=l;i<l2;i++)
b[i]=0;
l=l2;
}
for (i=0;i<l;i++)
{
b[i]+=c[i];
b[i+1]+=b[i]/10;
b[i]%=10;
}
l++;
while (b[l]==0&&l>=0)
l--;
if (l<0)
cout<<0;
else
{
for (i=l-1;i>=0;i--)
{
cout<<b[i];
b[i]=c[i]=0;
}
}
cout<<endl;
return 0;
}