统计字符串的某一子串在字符串中的出现次数(C语言实现)

来源:互联网 发布:淘宝购物返利那个高 编辑:程序博客网 时间:2024/04/30 04:41

int get_count(char * src,char * dst);
/*
src 主串
dst 子串
*/

#include <stdio.h>#include <string.h>int get_count(char *,char *);int main(){    char str1[10]="aaaacaaa";    char str2[10]="aa";    int count;    count=get_count(str1,str2);    printf("count is %d\n",count);}int get_count(char * src,char * dst){    int i=0,j=0;    int num0=0,num1=0;    int len=(int)strlen(dst);    while(src[i]!='\0')    {        while((dst[j]!=0)&&(dst[j]==src[i+j]))/*这里加上dst[j]!=0是为了应对主串为abab子串为ab的情况,也就是比较完成后两个字符串都到达末尾的情况*/        {            j++;        }        if(dst[j]==0)        {            i+=len;            j=0;            num0++;            if(src[i]=='\0')/*这种情况是为了应对主串为abab子串为ab的情况,也就是比较完成后两个字符串都到达末尾的情况*/            {                if(num0>num1)                    num1=num0;            }        }else        {               if(num0>num1)            {                num1=num0;            }            num0=0;            i++;            j=0;        }    }    return num1;}
0 0
原创粉丝点击