请帮忙解决一下,提高一下...
这是一个可以进行多位数字相加的程序,我不是很懂,请问有没有人可以帮忙解释一下啊?谢谢啦~
#include "stdio.h"
int main(void) {
char a[1000]={0},b[1000]={0},sum[1001]={0};
int i=0,lena,lenb,f=1000;
printf ("输入两个数字,用空格分隔:\n");
scanf("%s%s",a,b);
while(a[i]!=0) { a[i]-='0'; i++; }
lena=i; i=0;
while(b[i]!=0) { b[i]-='0'; i++; }
lenb=i; i=1;
while(lena!=0 || lenb!=0 || i) {
if(lena==0 && lenb==0) i=0;
sum[f]=a[lena]+b[lenb]; f--;
if(lena==0) a[lena]=0; else lena--;
if(lenb==0) b[lenb]=0; else lenb--;
}
for(f=1000;f>-1;f--) {
sum[f-1]+=sum[f]/10;
sum[f]=sum[f]%10;
} f=0;
for(i=0;i<1000;i++) {
if(f==0 && sum[i]!=0) f=1;
if(f) printf("%d",sum[i]);
}
getchar(); /*观看结果*/
return 0;
}