char * addStrings(char * num1, char * num2){
int sn1=strlen(num1),sn2=strlen(num2);
int maxlen=sn1>sn2?sn1:sn2;
char* ret=(char*)malloc((maxlen+2)*sizeof(char));
ret[maxlen+1]='\0';
int num=0;
while(sn1&&sn2)
{
int sum=num1[--sn1]-'0'+num2[--sn2]-'0'+num;
num=sum/10;
ret[maxlen--]=sum%10+'0';
}
while(sn1)
{
int sum=num1[--sn1]-'0'+num;
num=sum/10;
ret[maxlen--]=sum%10+'0';
}
while(sn2)
{
int sum=num2[--sn2]-'0'+num;
num=sum/10;
ret[maxlen--]=sum%10+'0';
}
ret[maxlen]=num+'0';
return num>0?ret:ret+1;
}
12-17
675
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-10
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交