编写函数实现在字符串s1中查找是否包含字符串s2,若是,则返回开始元素的下标值,否则返回-1。(不要使用库函数strstr)
#include<stdio.h>
int index(char str1[],char str2[])
{
int i=0,j=0;
while (str1[i]!='\0'&&str2[j]!='\0')
{
if (str1[i]==str2[j]) //继续匹配下一个字符
{
i++; //主串和子串依次匹配下一个字符
j++;
}
else //主串、子串指针回溯重新开始下一次匹配
{
i=i-j+1; //主串从下一个位置开始匹配
j=0; //子串从头开始匹配
}
}
if (str2[j]=='\0')
return(i-j); //返回匹配的第一个字符的下标
else
return(-1); //模式匹配不成功
}
int main()
{
char s1[100];
char s2[10];
gets(s1);
gets(s2);
printf("%d",index(s1,s2));
return 0;
}