下面的代码片段用于将两个高精度整数进行相加。请在横线处填入( ),使其能正确实现相应功能。
string add(string num1, string num2) {
string result;
int carry = 0;
int i = num1.size() - 1, j = num2.size() - 1;
while (i >= 0 || j >= 0 || carry) {
int x = (i >= 0) ? num1[i--] - '0' : 0;
int y = (j >= 0) ? num2[j--] - '0' : 0;
int sum = x + y + carry;
carry = sum / 10;
________________________
}
return result;
}根据上下文和C++语法规则确定空缺处应填的内容,关注函数调用参数、表达式和返回值类型。
填空时注意语法完整性:分号、括号匹配、函数参数类型和个数、返回值类型。
【考点】高精度加法|字符串拼接|取模运算
GESP五级「算法基础」模块的高精度运算专项。命题人卡住的是绝大多数考生对字符串拼接方向的直觉——高精度加法必须从低位向高位逐位计算,但结果字符串必须按「高位在前」输出,这个转换过程里恰好就是本题唯一的坑。