关于以下两段C++代码的循环边界与优化的说法,正确的是?

ic595934 单选题 共 个子题

现有两段C++代码,分别存在边界错误和性能优化空间:

  1. 打印数组前5个元素的函数:
    void printArr(int arr[]) {
     for(int i=1; i<=5; i++){
         cout << arr[i] << " ";
     }
    }
  2. 计算字符串字符ASCII和的函数:
    int calcSum(string s) {
     int sum = 0;
     for(int i=0; i<strlen(s.c_str()); i++){
         sum += s[i];
     }
     return sum;
    }
A

代码1无需修改即可正确打印数组前5个元素,代码2的循环写法已经最优

B

代码1应将循环改为for(int i=0; i<5; i++)以正确遍历前5个元素;代码2应提前计算字符串长度,将循环条件改为i<len以优化性能

C

代码1应将循环改为for(int i=0; i<=5; i++),代码2的循环写法无需优化

D

代码1应将循环改为for(int i=1; i<5; i++),代码2应将循环条件改为i<=strlen(s.c_str())以正确遍历所有字符

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