输入字符串str和一个字符ch,通过指针查找,统计字符串str中字符ch位置,r
时间: 2024-06-10 19:05:49 浏览: 178
OK,我明白了。对于你的问题,我可以给出以下 C++ 代码,实现该功能:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void countCharPos(const char* str, char ch, int* result) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] == ch) {
(*result)++;
cout << "ch 在字符串的第 " << (i + 1) << " 个位置" << endl;
}
}
}
int main() {
char str[100], ch;
int result = 0;
cout << "请输入字符串 str: ";
cin >> str;
cout << "请输入字符 ch: ";
cin >> ch;
countCharPos(str, ch, &result);
cout << "字符 ch 在字符串中共出现了 " << result << " 次" << endl;
return 0;
}
```
这里的 `countCharPos` 函数是关键,实现了查找字符 ch 在字符串 str 中出现的次数,以及每次出现的位置。为了避免拷贝字符串,这里使用了字符指针。`result` 是一个指向结果的指针,通过指针传递,并在函数内部被修改。
需要注意的是,这里并没有对输入字符串的长度进行检查,可能存在越界访问的风险。实际应用时,需要对输入的字符串进行长度检查,并进行必要的校验。
阅读全文