给定一个字符串,查看字符串内是否有想要的字符,并返回出现次数和出现该字符的位置
#include<iostream>
#include<string>
using namespace std;
//当无需修改引用形参的值时,最好使用常量引用(const)
//给定一个字符串,查看字符串内是否有想要的字符,并返回出现次数
string::size_type counts(const string &s, char c, string::size_type &occurs_num) // 如果不是引用传参的话,occurs_num变量会在函数结束销毁
{
//传入occurs_num参数 可以让函数同时返回两个结果
occurs_num = 0;
string::size_type occurs_location = s.size();
//遍历字符串内的每个字符 判断是否与c相同
for (decltype(occurs_location) i = 0; i != s.size(); i++)
{
if (s[i] == c)
{
if (occurs_location == s.size())
{
occurs_location = i + 1;
}
++occurs_num;
}
}
return occurs_location;
}
int main()
{
string::size_type ctr = 0;
string s = "qweeweeee";
auto index = counts(s, 'e', ctr);
cout << "字符'e'第一次出现在第" << index << "个位置" << endl << "出现的次数是" << ctr << endl;
return 0;
}
运行结果如下:
字符'e'第一次出现在第3个位置
出现的次数是6