指针实现字符串匹配

#include<stdio.h>

void comp(char*sub,char*str)
{
    int i=0,j=0;
    //通过子串指针移动的次数等于字串的长度,实现匹配成功与否
    //下面代码是直接使用子串和主串是否同时用完子串长度的循环实现
    while(*str){
        for(i=0;*(sub+i)==*(str+i);i++)//判断子串和主串是否相等
        {
            if(!*(sub+i+1))//判断字串是否到尾
            {
                j=1;
                printf("match\n");
                break;
            }
        }
        str++;
        if((!*str)&&j==0)//判断是否没有匹配
        {
            printf("not match\n");
        }
    }
}

int main()
{
    char a[]="abc";
    char b[]="abcabab";
    comp(a,b);
    return 0;
}

 

参考文章

用指针实现字符串匹配(strstr) - Hsinwang - 博客园 (cnblogs.com)

posted @ 2024-05-04 17:04  JianYuBlog  阅读(6)  评论(0编辑  收藏  举报