统计子字符串出现次数

编写一个函数totsubstrnum(char *str, char *substr) ,它的功能是:统计子字符串substr在字符串str中出现的次数。

思想:len2为子串的长度,设置变量 i =0, 利用strncmp函数将str+i 开始的len2个字符与子串substr进行比较,如果相等,则count加1,此时 i 加 len2,如果不等,则 i 加1,继续寻找。

代码测试通过:

#include<stdio.h>
#include< string.h>
int totsubstrnum( char *str,  char *substr);
int main()
{
     char str[80],substr[80];
    printf("Input string: ");
    gets(str);
    printf("Input substring: ");
    gets(substr);
    printf("count = %d\n",totsubstrnum(str,substr));

     return 0;
}

int totsubstrnum( char *str,  char *substr)
{
     int i=0,count=0,len1,len2;
    len1=strlen(str);
    len2=strlen(substr);
     while(i <= len1-len2)
    {
         if(strncmp(str+i,substr,len2) == 0)
        {
            count++;
            i +=len2;
        }
         else
            i++;
    }
     return (count);
}

你可能感兴趣的:(统计子字符串出现次数)