strstr函数用于判断字符串str2是否为str1的子串。如果是,则该函数返回str2在str1中首次出现的地址,否则,返回NULL。
#include <stdio.h>
#include "string.h"
#include <assert.h>
#define _CRT_SECURE_NO_WARNINGS
char* my_strstr(const char* a, const char* b)
{
assert(a != NULL && b != NULL);
if (*b == '\0')
return NULL;
while (*a)
{
char* s1 = a;
char* s2 = b;
while (*s1 && *s2 && *s1 == *s2)
{
s1++;
s2++;
}
if (*s2 == '\0')
{
return a;
}
a++;
}
return NULL;
}
int main()
{
char str1[] = "abcdef";
char str2[] = "cdef";
char* ret = my_strstr(str1, str2);
printf("%s\n", ret);
return 0;
}