模拟实现strstr函数

char* my_strstr(char* str1,  char* str2)
{
	assert(str1 && str2);
	char* cp = str1;//我们多定义几个指针,最好不要动原始指针
	char* s1 = str1;
	char* s2 = str2;
	if (*str2 == '\0')//如果str2没有数据,刚开始就是'\0',直接返回str1就好了
	{
		return str1;
	}
	while (*cp)
	{
		s1 = cp;
		s2 = str2;
		while (*s1 && *s2 && *s1 == *s2)
		{
			s1++;
			s2++;
		}
		if (*s2 == '\0')
		{
			return cp;
		}
		cp++;
	}
	return NULL;
}
int main()
{
	char* arr1 = "abbbcdef";
	char* arr2 = "bbc";
	char* ret = my_strstr(arr1, arr2);
	if (ret == NULL)
	{
		printf("找不到\n");
	}
	else
	{
		printf("%s", ret);
	}
	return 0;
}

你可能感兴趣的:(linux,前端)