帮忙编个C语言新手程序

来源:百度知道 编辑:UC知道 时间:2024/06/22 20:53:42
输入两个字符串a和b,判断字符串b是否是字符串a的子串,若是则输出b串在a串中的开始位置,若不是则输出-1。例如,串a="abcdef",若串b="cd",则输出3;若串b="ce",则输出-1。
能不能编的简单点,我是新手,这程序看不懂

#include <string.h>
//判断str2是否是str1的子字符串
int FindStr(char* str1,char* str2)
{
int n=0;
char *p;
p = strstr(str1,str2 ); //返回找到的位置的地址
n = p - str1; //找到的地址减首地址,得到长度
if (n < strlen(str1)&&n>0)
return n;
return -1;
}

这已经有人研究出了专门的算法KMP,你在网上搜一下

数据结构上也有相关的算法.