#include <stdio.h>
#include <assert.h>
#include <string.h>
//在字符串haystack中查找第一次出现字符串needle的位置
char *my_strstr(const char *haystack, const char *needle)
{
assert(haystack != NULL && needle != NULL);
char *a = (char *)haystack;
char *b = (char *)needle;
while(*a != NULL)
{
if(0 == strncmp(a, b, strlen(b)))
{
return a;
}
a++;
}
return NULL;
}
int main ()
{
char str1[] = {"asabcdfjj"};
char str2[] = {"abc"};
printf("my strstr %s\n", my_strstr(str1, str2)); //abcdfjj
return 0;
}
本文介绍了一个简单的C语言程序,用于在字符串haystack中查找字符串needle首次出现的位置。通过使用assert确保输入有效性,并借助strncmp进行逐字符比对,实现了自定义的字符串查找函数my_strstr。
742

被折叠的 条评论
为什么被折叠?



