以下关于修复并优化存在边界问题的C++循环代码的方案中,正确的是?

fs803803 单选题 共 个子题

已知以下C++代码意图遍历一个std::vector<int>容器的所有元素并打印,但存在边界错误和可优化点:

void printVector(const std::vector<int>& vec) {
    for(int i=0; i <= vec.size(); i++) {
        std::cout << vec[i] << " ";
    }
}
A

修改为for(int i=0; i < vec.size(); i++) { std::cout << vec[i] << " "; },仅修复边界错误未进行优化

B

提前计算容器大小到局部变量int n = vec.size();,修改为for(int i=0; i < n; i++) { std::cout << vec[i] << " "; },既修复边界错误又完成合理优化

C

修改为for(int i=0; i <= vec.size()-1; i++) { std::cout << vec[i] << " "; },修复了原代码的越界问题且无额外开销

D

将循环变量改为unsigned int i=0;,其余保持原代码不变,可避免整数溢出问题

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