#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次 ",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次 ", count);
return 0;
//结果
}