天天看點

自己實作strstr()函數

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
char* my_strstr(const char* str1, const char* str2)
{
	//斷言宏
	 char *p = (char *)str1;
	 char *s1 = (char *)str1;
	 char *s2 = (char *)str2;
	assert(str1 != NULL);
	if (str2 == NULL)
		return NULL;
	while (*p)
	{
		s1 = p;
		s2 = (char*)str2;
		while (*s1 && *s2 && *s1 == *s2)
		{
			s1++;
			s2++;
		}
		if (*s2 == '\0')
			return p;
		p++;
	}
	return NULL;
}
int main()
{
	char str1[] = "abcdefgggg";
	char str2[] = "gg";
	char *p = NULL;
	if (p = my_strstr(str1, str2))
		puts(p);
	system("pause");
	return 0;
}
           

繼續閱讀