第23710题 单选
给定C++高精度乘法函数,横线处应填入的代码是?

小杨编写了如下的高精度乘法函数,则横线上应填写的代码为( )。

vector<int> multiply(vector<int>& a, vector<int>& b) {
    int m = a.size(), n = b.size();
    vector<int> c(m + n, 0);

    // 逐位相乘,逆序存储
    for (int i = 0; i < m; i++) {
        for (int j = 0; j < n; j++) {
            c[i + j] += a[i] * b[j];
        }
    }

    // 处理进位
    int carry = 0;
    for (int k = 0; k < c.size(); ++k) {
        _________________________ // 在此处填入代码
        c[k] = temp % 10;
        carry = temp / 10;
    }

    while (c.size() > 1 && c.back() == 0)
        c.pop_back();
    return c;
}
A

int temp = c[k];

B

int temp = c[k] + carry;

C

int temp = c[k] - carry;

D

int temp = c[k] * carry;

提交0次 正确率0.00%
答案解析