编写一个名为findstring的函数,用于检查一个字符串是否包含另外一个字符串,函数的第一个参数是要被搜索的字符串,第二个参数是需要搜索的字符串,,如果在第一个字符串参数内找到第二个字符串参数,那么函数将第二个字符串在第一个字符串的起始位置作为返回值返回给调用者,如果没有。就返回-1,
比如:index=findstring(“a chatterbox”,”hat”);。返回数值3。。。
因为是初学者。。所以想破了脑袋都没想出来。。求急呀。。在线等呀。。。
比如:index=findstring(“a chatterbox”,”hat”);。返回数值3。。。
因为是初学者。。所以想破了脑袋都没想出来。。求急呀。。在线等呀。。。
>> 本文固定链接: http://www.vcgood.com/archives/1731
>> 转载请注明: jstxlwl118 2007年07月20日 于 C语言帝国 发表
KMP算法
一般的数据结构书上都有的。
int compare(char *str1,char *str2)
{
char *str3;
str3=malloc(strlen(*str2));
while(*str1)
{
if(str2[0]=str1[i])
{
strcpy(*str3,*(str1+i));
if(strcmp(*str2,*str3)) retrun(i);
else return(-1);
}
}
free(str3);
}
忘记strcpy拷贝大于前一字符串长度的字符串会不会出现别的问题,所以这些仅供参考,好久不用c了,写错了大家砖头就行了
这个数据结构数上有的啊!!
或者好一点的算法就是KMP算法!