字符串出现次数

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

 

char*my_strstr(char*src,char*dest)

{

  char*fsrc=src;//用于循环遍历的指针

  char*rsrc=src;//记录每次相同的首地址

  char*tdest=dest;

  while(*fsrc)

  {

    rsrc=fsrc;

    while(*fsrc==*tdest&&*fsrc!=0)

    {

      fsrc++;

      tdest++;

    }  

    if(*tdest==0)

    {

      return rsrc;

    }

//回滚

    fsrc=rsrc;

    tdest=dest;

    fsrc++;

  }

  return NULL;

 

}

int main01()

{

  char*str = "llabcd111122abcd333abcd3322abcd33333322qqq";

  char ch[]="abcd";

  char*p=my_strstr(str,ch)

//记录个数

  int count=0;

  while(p!=NULL)

  {

    count++;

    p=p+strlen(ch);

    p=my_strstr(p,ch);

  }

  printf("abcd在字符中出现:%d次\n",count);

  return EXIT_SUCCESS;

}  

int main(void)

{

  char*str = "llabcd111122abcd333abcd3322abcd33333322qqq";

  char ch[] = "abcd";

  char*p = my_strstr(str, ch);

//记录个数

  int count =0;

  do

  {

    if(p)

    {

      count++;

      p+=strlen(ch);

      p=my_strstr(p,ch);

    }

  }while(p);

  printf("abcd在字符串出现:%d次\n", count);

  return 0;

//结果

}

posted @ 2020-08-31 20:13  wh19991213  阅读(252)  评论(0编辑  收藏  举报