问题描述
- 新人求指导 c++primer书中例子
-
P190例子#include
#include
using namespace std;
string::size_type find_char(const string &s, char c, string::size_type &occurs)
{
auto ret = s.size();
occurs = 0;
for (decltype(ret)i = 0; i != s.size(); ++i){
if (s[i] == c){
if (ret == s.size())
ret = i;
++occurs;
}
}
return ret;
}
int main(){
string a("ewusruywsoieuyruwaufbnsdbyfeywaryawiuruaiwhruwhfadsfsf");
char b = 's';
string::size_type m = 0;
cout << find_char(a, b, m) << 'n'<< m << endl;return 0;
}
这里m输出的值为0,为什么不是字符s出现的次数呢?哪里编写错了吗?
解决方案
auto s = find_char(a, b, m);
cout << s << 'n'<< m << endl;
否则m是之前的值。
解决方案二:
http://ideone.com/EtUmku
时间: 2024-09-28 16:25:25