void B_add(char *a, char *b, int i, int r) // a = a + b, i为第i位,r为进位 { int d = r; if(i >= strlen(b)) //以b终结为return的标识 { if(r == 0) { if(!(a[i] >= ‘0‘ && a[i] <= ‘9‘)) a[i] = ‘\0‘; return; } } else d += b[i] - ‘0‘; if(i < strlen(a)) d += a[i] - ‘0‘; a[i] = d % 10 + ‘0‘; // 赋给a时别忘了 + ‘0‘ B_add(a, b, i + 1, d / 10); }
原文:https://www.cnblogs.com/WTSRUVF/p/14403894.html