有没人帮忙看看代码~,感觉没什么问题,但就是匹配失败/哭死。
- 这是代码
#include
using namespace std;
#include
#define MAXSIZE 255
typedef struct {
char ch[MAXSIZE];
int length;}SString;
int Index(SString s ,SString t,int pos){
int i= pos;int j= 0;
while(i
if(s.ch[i]==t.ch[i]){
i++;j++;}
else {
i=i-j+1;j=0;}
}
if(j==t.length)
return i-j;
else
return -1;
}
int main(){
SString s,t;
int pos;
cout<<"请输入主串\n";
cin>>s.ch;
cout<<"请输入子串\n";
cin>>t.ch;
s.length=strlen(s.ch);
t.length=strlen(t.ch);
cout<<"请输入开始第一次匹配的位置:\n";//i起始的位置
cin>>pos;
cout <return 0;}


- 运行结果

你可以看下我博客中的KMP算法,里面有写到BF算法希望帮到你