马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 奥普瓯江 于 2022-2-10 15:55 编辑
原理:
备注:
代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char str[] = {"ILoveFishC.com"};
char str_2[] = {"FishC"};
int j = 0;
for(int i = 0; str[i] != '\n'; i++)
{
if(str[i] == str_2[j] || str_2[j] == '\0')
{
if(str_2[j] == '\0')
{
printf("以在字符串内找到%s\n", str_2);
break;
}
j++;
}
else if(str[i + 1] == '\0')
{
printf("str字符串%s不存在str_2字符串%s\n", str, str_2);
break;
}
}
return 0;
}
因为想不出kmp算法在复习一遍BF算法,这回比上一次那个写法短
#include <stdio.h>
#include <stdlib.h>
int main()
{
char strc_1[] = {"ILoveFishC.com"};
char strc_2[] = {"m"};
int i = 0;
while(strc_1[i] != '\0')
{
for(int j = 0; strc_1[i] == strc_2[j] ; j++, i++)
{
if(strc_2[j + 1] == '\0')
{
printf("在第%d之后\n", i - j);
return 0;
}
}
i++;
}
if(strc_1[i] == '\0')
{
printf("未在字符串strc_1中找到与字符串strc_2相匹配的项!\n");
}
return 0;
}
|