C语言 编写一个函数,接收一个字符串,统计其中任意两个及两个以上相邻字符相同的子串的个数。比如字符串"abbcccaddd"子串有"bb"、"cc"、"cc"、"dd"、"dd"、"ccc"和"ddd",共7个。函数原型为:int fun(const char *str);
时间: 2023-07-06 19:21:02 浏览: 85
C语言编程-编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数;
5星 · 资源好评率100%
好的,下面是函数的实现:
```c
int fun(const char *str){
int count = 0;
int len = strlen(str);
for(int i = 0; i < len-1; i++){
int j = i + 1;
while(str[j] == str[i]){
count++;
j++;
}
i = j - 1;
}
return count;
}
```
函数的主要思路是遍历整个字符串,从第一个字符开始,依次与后面的字符比较,找到相邻相同的字符,然后统计子串的个数,继续遍历后面的字符。在这个过程中,使用了一个 while 循环来找到相邻相同的字符,然后更新计数器 count,同时更新 i 的值,以便跳过已经统计过的子串。最后返回计数器 count 的值即可。
需要注意的是,当字符串为空或只有一个字符时,函数应该返回 0。
阅读全文