c语言实现在给定字符串中搜索并返回子字符串个数的函数
时间: 2023-06-17 13:05:50 浏览: 142
可以使用C语言的字符串函数strstr()和strchr()实现在给定字符串中搜索并返回子字符串个数的函数。具体的实现方法如下:
```c
#include <stdio.h>
#include <string.h>
int countSubstring(char *str, char *substr) {
int count = 0;
char *ptr = str;
while ((ptr = strstr(ptr, substr)) != NULL) {
count++;
ptr++;
}
return count;
}
int main() {
char str[100], substr[100];
printf("Enter a string: ");
gets(str);
printf("Enter a substring: ");
gets(substr);
int count = countSubstring(str, substr);
printf("Number of occurrences of substring in string : %d", count);
return 0;
}
```
在这里,countSubstring()函数使用了strstr()函数在字符串中查找子字符串的位置,如果找到了,就增加计数器count的值,然后将指针ptr指向下一个字符继续查找,直到搜索完整个字符串。最后返回计数器的值表示子字符串在字符串中出现的次数。
需要注意的是,gets()函数不是安全的函数,因为它无法判断输入字符串的长度是否超过了数组的长度,因此在实际的程序中应该使用更安全的函数,比如fgets()函数。
阅读全文