注册 登录
编程论坛 数据结构与算法

字符串的匹配 求大神指导

wangyuesjjg 发布于 2013-05-09 19:21, 751 次点击
目标串:t =“ababcabcacbabcacbbaaccabccaa”,
模式串:p =“abcac”
如果使用简单算法,实现字符串的匹配
#include<stdio.h>
void fun(char*t,char*p)
{
    int i,j=0,static int n=0;
    for(i=0;i<5;i++)
    {if(t[i]==p[j]) j++;
    else{t++;n++;j=0;}
    }
    printf("%d\n",n+1);
    t=t+5;n=n+6;j=0;
    fun();
}
void main()
{int k;
char *t="ababcabcacbabcacbbaaccabccaa";
char *p="abcac";
fun(t,p);
}
4 回复
#2
nikobelic2013-05-12 01:09
有什么问题?
#3
cuijunchao2013-05-12 08:51
你这代码 也太多不对的地方了吧 ,你是要做递归,可是递归的使用都不对 ,字符串的匹配建议用循环较好。
#4
邓士林2013-05-13 09:59
#include<stdio.h>
void fun(char*t,char*p)
{
    int i,j=0;
    static int n=0;
    for(i=0;i<5;i++)
    {if(t[i]==p[j]) j++;
    else{t++;n++;j=0;}
    }
    printf("%d\n",n+1);
    t=t+5;n=n+6;j=0;
    fun(t,p);
}
void main()
{int k;
char *t="ababcabcacbabcacbbaaccabccaa";
char *p="abcac";
fun(t,p);
}
#5
cuijunchao2013-05-14 12:36
还有你这个函数都没有返回值,你的目的是什么呢?运行后是不是匹配成功都不知道。如果匹配成功后你要的操作时什么?都没有 。
1