第29339题 单选题
以下针对C++循环结构与边界优化的修改方案中,同时修复原代码的边界错误并完成合理优化的是?

已知原C++代码如下,存在循环边界错误与可优化的重复计算问题:

int calculateTotal(char* str) {
    int total = 0;
    for(int i=0; i<=strlen(str); i++){
        total += str[i];
    }
    return total;
}

以下哪个修改方案同时解决了上述两个问题?

A
int calculateTotal(char* str) {
    int total = 0;
    int len = strlen(str);
    for(int i=0; i<len; i++){
        total += str[i];
    }
    return total;
}
B
int calculateTotal(char* str) {
    int total = 0;
    for(int i=0; i<strlen(str); i++){
        total += str[i];
    }
    return total;
}
C
int calculateTotal(char* str) {
    int total = 0;
    int len = strlen(str);
    for(int i=0; i<=len; i++){
        total += str[i];
    }
    return total;
}
D
int calculateTotal(char* str) {
    int total = 0;
    for(int i=1; i<=strlen(str); i++){
        total += str[i];
    }
    return total;
}
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析