#include <stdio.h>
#include <string.h>
void putOneByOneP(char *s);
char *strstrM1 (char str[], char mod[]);
char *strstrM2 (char str[], char mod[]);
int main(void)
{
char s[] = "What's your name?";
char s2[] = "name";
putOneByOneP(s);//打印每个字符地址,以便检查strstr()函数是否正确工作
char *p = strstrM2(s, s2);//strstr()函数返回索引,以下校验的结果
if(p != NULL)
printf("%s找到了%s!返回地址%p,存储的是 %c\n", s, s2, p, *p);
else
printf("%s未找到%s!\n",s, s2);
printf("%s", (p != NULL) ? "真的找到了!\n":"真的没找到!\n");//较为简明的检验
return 0;
}
void putOneByOneP(char *s)
{
char *p =s;//最后要用s初始值,所以用p拷贝一份
while (*s != '\0')
{
printf("[%c] %p\n", *s, s);
++s;
}
}
char *strstrM1 (char str[], char mod[])
{
char *s = str, *m = mod;//没必要的城市化,但能明确意图
for (;*str != '\0'; ++str)
{
for (s =
strstr()函数工作原理与自写实现
最新推荐文章于 2024-08-12 10:00:56 发布
本文深入探讨了C语言中的strstr()函数的工作原理,并提供了自定义实现该函数的示例,帮助读者理解字符串搜索的核心逻辑。
摘要由CSDN通过智能技术生成