关于C++循环结构与边界优化,下列说法正确的是?

fe121708 单选题 共 个子题

阅读以下两段C++代码片段,判断相关说法正确的是:

// 代码1:计算数组arr的前n个元素之和
int getArraySum(int arr[], int n) {
    int total = 0;
    for(int i = 0; i <= n; ++i) {
        total += arr[i];
    }
    return total;
}

// 代码2:统计字符串中字符'a'的个数
int countA(const char* str) {
    int cnt = 0;
    for(int i = 0; i < strlen(str); ++i) {
        if(str[i] == 'a') cnt++;
    }
    return cnt;
}
A

代码1的循环边界写法正确,可以正确计算前n个元素的和

B

代码2的循环写法最优,没有性能问题

C

代码1应将循环条件改为i < n才能正确计算前n个元素的和

D

代码2应将strlen(str)放到循环内部,以提升性能

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