假设两个非负高精度整数分别存储在数组 a 和 b 中,且 a≥ba \ge ba≥b。数组采用低位在前的方式存储,即 a[0] 表示个位。下面代码中的 c 可以正确保存 a - b 的各位数字。
a
b
a[0]
c
a - b
int borrow = 0; for (int i = 0; i < len; ++i) { int t = a[i] - b[i] + borrow; if (t < 0) { t += 10; borrow = 1; } else { borrow = 0; } c[i] = t; }
正确 √
错误 ×