#include
typedef struct //结构体的定义
{char *ch; //指向动态分配存储空间首地址的字符指针
int length;
}Str;
int inde(Str str,Str substr)
{
int i=1; //在这里串从数组下标1位置开始存储(为了返回零值)
int j=1;
int k=1;
while(i<=str.length&&j<=substr.length)
{if(str.ch[i]==substr.ch[j])
{i++;
j++;
}
else
{j=1;
i=++k;
}
}
if(j>substr.length) //因为j初始值为1,所以匹配完j比lsubstr的长度长
return k;
else
return 0;
}
int main()
{
Str str,substr;
str.ch=" ababcabcacbab";
substr.ch=" abcac";
printf("%d",inde(str,substr));
}