我正在尝试创建一个程序来计算字母在字符串中的出现次数,但是尽管肯定调用了函数count()
,但以下程序不会输出任何内容。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int count(const string &s, char c) {
string::const_iterator i = find(s.begin(), s.end(), c);
int n = 0;
while (i != s.end()) {
++n;
i = find(i+1, s.end(), c);
}
return n;
}
int main() {
const string e = "dddddddd";
char d = 'd';
count(e, d);
}
答案 0 :(得分:7)
您应该使用标准输出函数cout输出结果。
std::cout << count(e,d);
返回不输出任何内容。
答案 1 :(得分:1)
您没有看到任何输出,因为您没有对程序进行编码以输出任何内容。您的count()
函数具有您忽略的返回值。
更改此行
count(e, d);
为此
cout << count(e, d);
话虽如此,您的count()
函数是多余的,因为<algorithm>
已经定义了一个std::count()
函数,您可以改用它:
#include <iostream>
#include <string>
#include <algorithm>
int main() {
const std::string e = "dddddddd";
char d = 'd';
std::cout << std::count(e.begin(), e.end(), d);
}