用字符的方式输入两个大数调用函数求和,像计算字符111111111+222222222这样

void Add(char k[],char j[],char sAnd[]) //加法
{
int n,m,q,w,f;
w=0;
f=0;
for(n=strlen(k)-1,m=strlen(j)-1;n>=0&&m>=0;n--,m--)
{
q=k[n]-'0'+j[m]-'0'+w; //相同位数相加求和,(数字)
w=q/10;//进位
sAnd[f]=q%10+'0';//当前位的(字符)储存到数组sAnd[]中;
f++;
}
if(m<0&&n<n) //两数字字符串位数相同
{
sAnd[f]=w+'0';
f++;//??
}
if(m>0)//数组m位数大于n
{
for(m;m>=0;m--)
{
q=j[m]-'0'+w;
w=q/10;
sAnd[f]=q%10+'0';
f++;
}
}
if(n>0)
{
for(n;n>=0;n++)
{
q=k[n]-'0'+w;
w=q/10;
sAnd[f]=q%10+'0';
f++;
}
}

    sAnd[f]='\0';
    Reverese(sAnd);
    f++;

}

img

#include <stdio.h>
#include <string.h>

void Add(char k[],char j[],char sAnd[]) //加法
{
int n,m,q,w,f;
w=0;
f=0;
for(n=strlen(k)-1,m=strlen(j)-1;n>=0&&m>=0;n--,m--)
{
q=k[n]-'0'+j[m]-'0'+w; //相同位数相加求和,(数字)
w=q/10;//进位
sAnd[f]=q%10+'0';//当前位的(字符)储存到数组sAnd[]中;
f++;
}
if(m<0&&n<n) //两数字字符串位数相同
{
sAnd[f]=w+'0';
f++;//??
}
if(m>0)//数组m位数大于n
{
for(m;m>=0;m--)
{
q=j[m]-'0'+w;
w=q/10;
sAnd[f]=q%10+'0';
f++;
}
}
if(n>0)
{
for(n;n>=0;n++)
{
q=k[n]-'0'+w;
w=q/10;
sAnd[f]=q%10+'0';
f++;
}
}

    sAnd[f]='\0';
    //Reverese(sAnd);
    int h=0;
    int r=f;
    for(h=0;h<f/2;h++)
    {
        char tem=sAnd[h];
        sAnd[h]=sAnd[r-1];
        sAnd[r-1]=tem;
        r--;
    }
    
    f++;
}
int main()
{

    char k[250];char j[250];char sAnd[250];
    
    gets(k);
    gets(j);
    Add(k,j,sAnd);
       puts(sAnd);

    return 0;
}