这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。
// 大数加大数
// 大数a加上大数b,值赋给s
void big_Add_big(char a[], char b[], char s[])
{
int m[1000], n[1000], p[1000];
// 初始化
memset(m, 0, sizeof(m));
memset(n, 0, sizeof(n));
memset(p, 0, sizeof(p));
int len_a = strlen(a);
int len_b = strlen(b);
// 把a逆序赋给m整形数组
for(int i=0; ilen_b? len_a: len_b;
// 整体相加
for(int i=0; i= 10)
{
p[i+1] += p[i]/10;
p[i] = p[i]%10;
}
// 处理最高位
if(p[len]>0)
len++;
for(int i=0; i<len; ++i)
s[i] = p[len-i-1]+'0';
s[len] = 0;
}