#include<stdio.h>
#include<malloc.h>
#define MAX 20
typedef struct
{
char s[MAX];
int len;
}SeqStr;
int StrIndex(SeqStr *&S,SeqStr *&T)
{
int i=1,j=1;
while (i<=S->len && j<=T->len)
if (S->s[i]==T->s[j]) //minus 1
{i++;j++;}
else
{i=i-j+2;j=1;}
if (j>T->len)
return i-T->len;
else
return 0;
}
void main()
{
SeqStr *S,*T;
S=(SeqStr *)malloc(sizeof SeqStr);
T=(SeqStr *)malloc(sizeof SeqStr);
scanf("%s",S->s);
scanf("%s",T->s);
printf("%d",StrIndex(S,T));
}
比如s=123456789
T=456
要输出T在S的第4个位置