第29355题 单选题
已知一段存在边界错误且可优化的C++字符统计函数,以下哪个选项是对其正确的修正与优化后的实现?

原始错误代码如下:

int countTargetChar(const string& str, char target) {
    int count = 0;
    for(int i = 0; i <= str.length(); ++i) {
        if(str[i] == target) {
            ++count;
        }
    }
    return count;
}
A
int countTargetChar(const string& str, char target) {
    int count = 0;
    for(int i = 0; i < str.length(); ++i) {
        if(str[i] == target) {
            ++count;
        }
    }
    return count;
}
B
int countTargetChar(const string& str, char target) {
    int count = 0;
    size_t len = str.length();
    for(int i = 0; i < len; ++i) {
        if(str[i] == target) {
            ++count;
        }
    }
    return count;
}
C
int countTargetChar(const string& str, char target) {
    int count = 0;
    for(int i = 1; i <= str.length(); ++i) {
        if(str[i] == target) {
            ++count;
        }
    }
    return count;
}
D
int countTargetChar(const string& str, char target) {
    int count = 0;
    for(int i = 0; i < str.length(); ++i) {
        if(str[i] == target) {
            ++count;
        }
    }
    if(count > str.length()) count = str.length();
    return count;
}
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析