超长正整数加法,看下哪错了?
#include<stdio.h>void main()
{int i,j,k,x=0,y=0,max,min;
char a[80],b[80],c[80];
printf("请输入加数:\n");
scanf("%s",a);
printf("请输入另一加数:\n");
scanf("%s",b);
for(i=0;a[i]!='\0';i++){
x++;
if(a[i]>'9'||a[i]<'0'){
printf("输入的加数错误!\n");break;}}
if(a[i]=='\0'){
for(j=0;a[j]!='\0';j++){
y++;
if(b[j]>'9'||b[j]<'0'){
printf("输入的另一加数错误!\n");break;}}
if(b[j]=='\0'){
max=x>y?x:y;
min=x>y?y:x;
for(i=0;i<x/2;i++){
k=a[i];
a[i]=a[x-i-1];
a[x-i-1]=k;}
for(i=0;i<y/2;i++){
k=a[i];
b[i]=b[x-i-1];
b[x-i-1]=k;}
for(i=0;i<min;i++)
c[i]=a[i]+b[i]-96;
for(i=min;i<max;i++)
{if(max==x)c[i]=a[i]-48;
else c[i]=b[i]-48;}
for(i=0;i<=min;i++)
if(c[i]>9){c[i]-=10;
c[i+1]++;}
printf("和为:\n");
for(i=max-1;i>=0;i--)
printf("%d",c[i]);
printf("\n");
}
}}