int main(int arg, char **argv) {
char a[] = { "abchdeffghij" }, b[] = { "defgh" }, *p = a, *q = b;
int i, j, k, s;
s = j = i = k = 0;
while (*(p + i) != '\0'){
if (*(p + i) == *q){ //第一个匹配上了就进入循环
j = 0;
while (*(q + j) != '\0' && (*(q + j)) == *(p + i + j)) // 相等就j++计数
j++;
if ((*(q+j)=='\0')&&(*(q + j - 1) == (*(p + i + j - 1)))){ // 要判断子串是否走到了最后和最后一个字母是否相等
s = 1;
break;
}
}
i++;
}
printf("%d", s == 1 ? i+1 : -1);
{
}
}