问题出在哪里了?
今天看了一个巨大数相加的程序,然后自己编写了一下,可就是运行后显示不出要的结果,自己看了好几遍也没搞明白问题所在,请教各位帮忙看看问题出在哪里了。#include <stdio.h>
#include <string.h>
main()
{
char n1[100],n2[100];
int a[100],b[100],c[100],i,j,k,s1,s2;
printf("请输入第一个大数:");
gets(n1);
printf("请输入第二个大数:");
gets(n2);
s1=strlen(n1);
s2=strlen(n2);
if(s1>s2)
k=s1;
else
k=s2;
j=k;
for(i=0;i<=s1;i++,k--)
a[k]=n1[s1-1-i]-'0';
for(k=j;i<=s2;i++,k--)
b[k]=n2[s2-1-i]-'0';
for(i=j;i>=0;i--)
{
c[i]=a[i]+b[i];
if(c[i]>=10)
{
c[i]=c[i]-10;
c[i-1]++;
}
}
if(a[0]!=0)
{ for(i=0;i<=j;i++)
printf("%d",c[i]);
}
else
{ for(i=1;i<=j;i++)
printf("%d",c[i]);
}
printf("\n");
return 0;
}