``c
#include<stdio.h>
#include<string.h>
int BF(const char* str, const char* sub, int pos)
{
int i = pos;
int j = 0;
if (pos < 0 || pos > strlen(str))
{
return -1;
}
while(i<strlen(str)&&j<strlen(sub))
{
if (str[i] == sub[j])
{
i++;
j++;
continue;
}
i = i - j + 1;
j = 0;
}
if (j >= strlen(sub))
{
return i - j;
}
return -1;
}
int main()
{
printf("匹配的在主串的第%d个位置",BF("aaaaaab", "aab", 0));
return 0;
}
运行结果为