主题:求高手解释一下这个程序
#include<stdio.h>
#include<string.h>
char a[31];
char b[31];
char s[31];
int carryover=0;
char *sum=&s[0];
int main()
{
int adder(char *a,char *b);
while(scanf("%s%s",a,b)!=EOF)
{
int i;
adder(a,b);
for(i=strlen(s);i;i--)
printf("%c",s[i-1]);
printf("\n");
carryover=0;
sum=&s[0];
for(i=0;i<100;i++)
{
a[i]='\0';
b[i]='\0';
s[i]='\0';
}
}
}
int adder(char *a,char *b)
{
char *p=&a[strlen(a)-1];
char *q=&b[strlen(b)-1];
while(*p!='\0'||*q!='\0')
{
int k;
k=(*p-48)+(*q-48)+carryover;
if(*p=='\0')k=(*q-48)+carryover;
if(*q=='\0')k=(*p-48)+carryover;
if(k>9)
{
carryover=1;
*sum=k+38;
}
if(k<=9)
{
carryover=0;
*sum=k+48;
}
sum++;
p--;
q--;
}
if(carryover)*sum=49;
}
#include<string.h>
char a[31];
char b[31];
char s[31];
int carryover=0;
char *sum=&s[0];
int main()
{
int adder(char *a,char *b);
while(scanf("%s%s",a,b)!=EOF)
{
int i;
adder(a,b);
for(i=strlen(s);i;i--)
printf("%c",s[i-1]);
printf("\n");
carryover=0;
sum=&s[0];
for(i=0;i<100;i++)
{
a[i]='\0';
b[i]='\0';
s[i]='\0';
}
}
}
int adder(char *a,char *b)
{
char *p=&a[strlen(a)-1];
char *q=&b[strlen(b)-1];
while(*p!='\0'||*q!='\0')
{
int k;
k=(*p-48)+(*q-48)+carryover;
if(*p=='\0')k=(*q-48)+carryover;
if(*q=='\0')k=(*p-48)+carryover;
if(k>9)
{
carryover=1;
*sum=k+38;
}
if(k<=9)
{
carryover=0;
*sum=k+48;
}
sum++;
p--;
q--;
}
if(carryover)*sum=49;
}