strstr函数实现

strstr()函数用来查找子串的首地址,函数实现如下:

char* strstr(char * str1,char * str2)
{
	char *p1=NULL;
	char *p2=NULL;
	while(*str1)
	{
		p1=str1;
		p2=str2;
		while(*p1==*p2 && *p2!=NULL)
		{	
			p1++;
			p2++;
		}
		if(*p2==NULL)
		{
			return str1;
		}
		str1++;
	}
	
	return NULL;
}

测试用例:

#include<stdio.h>
#include<string.h>
char* strstr(char * str1,char * str2);
int main()
{
	char *str1="accdef";
	char *str2="cde";
	printf("%0x",strstr(str1,str2));
	
}
char* strstr(char * str1,char * str2)
{
	char *p1=NULL;
	char *p2=NULL;
	while(*str1)
	{
		p1=str1;
		p2=str2;
		while(*p1==*p2 && *p2!=NULL)
		{	
			p1++;
			p2++;
		}
		if(*p2==NULL)
		{
			return str1;
		}
		str1++;
	}
	
	return NULL;
}

测试结果:

发布了33 篇原创文章 · 获赞 30 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/baidu_15547923/article/details/100764049