编写一个函数,其功能是统计一个子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"this is a string",子字符串为"is",则应输出2。代码并解释
时间: 2023-04-05 14:00:42 浏览: 86
C语言编程-编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数;
5星 · 资源好评率100%
以下是编写的函数代码:
```c
int countSubstr(char* str, char* substr) {
int count = 0;
int len1 = strlen(str);
int len2 = strlen(substr);
for (int i = 0; i <= len1 - len2; i++) {
if (strncmp(str + i, substr, len2) == 0) {
count++;
}
}
return count;
}
```
解释:
该函数的参数为两个字符串指针,分别表示原字符串和子字符串。函数中使用了一个计数器 count,初始值为 0。然后获取原字符串和子字符串的长度,分别为 len1 和 len2。接着使用一个 for 循环遍历原字符串,从第一个字符开始,每次比较原字符串中以当前字符为起点的子字符串是否与给定的子字符串相同,如果相同,则计数器加 1。最后返回计数器的值即可。
注意:该函数中使用了 C 语言中的字符串函数 strlen 和 strncmp,需要包含头文件 string.h。
阅读全文