#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct {
char *str;
int length;
}String;
int patternMatching( String *pattern, String *sub);
int main(void) {
system("COLOR fc");
putchar('\n');
String pattern = {
"abcdefghij",
10
};
String sub = {
"e9",
2
};
printf("%d", patternMatching(&pattern, &sub));
putchar('\n');
putchar('\n');
system("pause");
return 0;
}
int patternMatching( String *pattern, String *sub) {
int i = 0, j = 0, k = i;
while (i < pattern->length && j < sub->length) {
if (pattern->str[i] == sub->str[j]) {
++i,
++j;
}
else{
j = 0;
i = ++k;
}
}
if (j == sub->length)
return k;
return -1;
}