写一串c代码用strchr函数检索自定义字符串中某个自定义字符个数
时间: 2024-09-13 19:06:36 浏览: 38
`strchr` 函数是C语言标准库函数,用于在字符串中查找字符的第一个出现的位置。如果找到该字符,则返回指向该字符的指针,否则返回NULL。但是`strchr`本身并不直接提供计算字符出现次数的功能,需要我们结合循环遍历来实现。以下是一个使用`strchr`函数统计自定义字符串中某个字符出现次数的示例代码:
```c
#include <stdio.h>
#include <string.h>
int countCharOccurrences(const char *str, char ch) {
int count = 0;
const char *ptr = strchr(str, ch);
while (ptr) {
count++;
ptr = strchr(ptr + 1, ch); // 从当前字符的下一个字符开始继续查找
}
return count;
}
int main() {
const char *myString = "example string";
char myChar = 'e';
int occurrences = countCharOccurrences(myString, myChar);
printf("字符 '%c' 在字符串 \"%s\" 中出现了 %d 次。\n", myChar, myString, occurrences);
return 0;
}
```
在这段代码中,`countCharOccurrences` 函数接受两个参数:一个是要搜索的字符串`str`,另一个是要查找的字符`ch`。函数内部,使用`strchr`来定位字符`ch`在字符串`str`中的位置,每找到一次就增加计数器`count`。然后通过`ptr + 1`将搜索的起点更新到找到字符之后的字符,继续查找,直到`strchr`返回NULL为止。最后返回计数器的值,即为字符出现的次数。
阅读全文