基于Visual C++2013拆解世界五百强面试题--题5-自己实现strstr

时间:2022-10-12 14:33:32

请用C语言实现字符串的查找函数strstr, 找到则返回子字符串的地址,没有找到返回为空,请用数组操作与指针操作实现

看到题目想到最简单的方法就是母字符串和子字符串比较,如果不同,将指向母字符串的指针向前移动,继续查找,

下面我们分别用数组操作实现,大家可以很容易改成指针操作实现,

国际惯例,参考前面文章新建一个vs2013的工程,经过前面的学习大家已经对开发环境很熟悉了,下面我们直接上代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h> char *mystrstr(char *Str, const char *SubStr)
{
int StrLen, SubStrLen;
StrLen = strlen(Str);
SubStrLen = strlen(SubStr); //Str长度小于SubStrLen时直接跳过For返回空,
//如果Str长度大于等于SubStr则依次递进比较
for (int i = 0; i <= StrLen - SubStrLen; i++)
{
int j;
for (j = 0; j < SubStrLen; j++)
{
if (Str[i + j] != SubStr[j]) //如果不等就跳出循环
break;
}
if (j == SubStrLen) //如果j == SubStrLen则找到匹配的子串
return &Str[i];
} return NULL;
} int main()
{
printf("%s \n", mystrstr("testxx123", "xx12"));
return 0;
}

运行效果如下图:

aaarticlea/png;base64,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" alt="" />

如果有什么问题和疑问可以在下面留言互相探讨。

原题我已经上传到这里了http://download.csdn.net/detail/yincheng01/6461073 ,

解压密码为 c.itcast.cn