下列针对存在边界错误和可优化点的C++循环代码的修正方案中,正确的是?

sr373410 单选题 共 个子题

以下是一段遍历std::vector<int>容器并计算所有元素之和的C++代码,该代码存在边界访问错误和可优化的地方:

#include <vector>
int calcSum(const std::vector<int>& vec) {
    int sum = 0;
    for (int i = 0; i <= vec.size(); ++i) {
        sum += vec[i];
    }
    return sum;
}

针对上述代码,下列修正方案中正确的是:

A

仅将循环条件修改为i < vec.size(),无需其他调整,代码即可正确运行且效率最优

B

将循环条件修改为i < n(其中n = vec.size()且定义在循环外部),同时修正边界条件,可同时解决越界问题并优化循环效率

C

仅将sum += vec[i]移到循环外部即可解决问题

D

保持原循环条件不变,将vec的引用改为值传递即可避免越界

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧