#include <iostream>#include <string.h>using namespace std;int main(){    char sub[100],str[100];    int i=0,j=-1;    int Next[100];    Next[0]=-1;    gets(str);    gets(sub);    while(sub[i]!=0)    {        if(j==-1||sub[i]==sub[j])        {            i++;            j++;            Next[i]=j;        }        else        {            j=Next[j];        }    }    i=0;    j=0;    while(i<strlen(str)&&j<strlen(sub))    {        if(str[i]==sub[j]||(j==-1))        {            i++;            j++;        }        else        {            j=Next[j];        }    }    if(j==strlen(sub))        cout<<"子串在母串中的位置是"<<i-strlen(sub);    else        cout<<"无";    return 0;}有没有好心人帮我看看这个kmp代码为什么不对

