//两个超大整数相加
#include<stdio.h>//未输出正确结果
int bigplus(int a[],int b[],int c[]) //大整数加法
{
int i,len;
len=(a[0]>b[0]?a[0]:b[0]); //a[0] b[0]保存数组长度,len为较长的一个
for(i=0;i<1000;i++) //将数组清0
c[i]=0;
for (i=1;i<=len;i++) //计算每一位的值
{
c[i]=(a[i]+b[i]);
if (c[i]>=10)
{
c[i]-=10; //大于10的取个位
c[i+1]++; //高位加1
}
}
if (c[i+1]>0) len++;
c[0]=len; //c[0]保存结果数组实际长度
printf("Big integers add: ");
for (i=len;i>=1;i--)
printf("%d",c[i]); //打印结果
printf("\n");
return 0;
}
int main(void)
{int a[1000]={10,5,4,6,5,4,3,2,1,1,1};
int b[1000]={7,7,6,5,4,3,2,1};
int c[1000];
bigplus(a,b,c);
return 0;
}
为什么输不出结果?