模拟实现strstr

作者: 修夏之夏i | 来源:发表于2018-05-11 08:28 被阅读0次

strstr:
判断一个字符串在另一个字符串首次出现的位置.

#define _CRT_SECURE_N0_WARNINGS 1
#include <stdio.h>
#include<assert.h>

//判断一个字符串在另一个字符串首次出现的位置
char* my_strstr(const char *str, const char* substr)
{
    assert(str != NULL);
    assert(substr != NULL);

    while (*str)
    {
        const char*s1 = str;
        const char*s2 = substr;
        while (*s1&&*s2&&*s1 == *s2)
        {
            s1++;
            s2++;
        }
        if (*s2 == '\0')
            return str;
        str++;
    }
    return NULL;
    
}

int main()
{
    char arr[] = "abbbbcef";
    char *ret = my_strstr(arr, "bbc");
    if (ret != NULL)
        printf("%s\n", ret);
    else
        printf("不存在\n");
    return 0;
}

运行结果:


字符串查找.png

相关文章

网友评论

    本文标题:模拟实现strstr

    本文链接:https://www.haomeiwen.com/subject/rsvxdftx.html