C语言查找子串 的递归实现方法

下面是一个使用递归实现的C语言函数,用于查找字符串中的子串:#include #include int findSubstring(char *str, char *sub){if (*sub == '\0') {return 1;}if (*str == '\0') {return 0;}if (*str ==

下面是一个使用递归实现的C语言函数,用于查找字符串中的子串:

#include <stdio.h>
#include <string.h>

int findSubstring(char *str, char *sub)
{
    if (*sub == '
#include <stdio.h>
#include <string.h>
int findSubstring(char *str, char *sub)
{
if (*sub == '\0') {
return 1;
}
if (*str == '\0') {
return 0;
}
if (*str == *sub) {
return findSubstring(str + 1, sub + 1);
} else {
return findSubstring(str + 1, sub);
}
}
int main()
{
char str[] = "hello world";
char sub[] = "world";
if (findSubstring(str, sub)) {
printf("'%s' is a substring of '%s'\n", sub, str);
} else {
printf("'%s' is not a substring of '%s'\n", sub, str);
}
return 0;
}
'
) { return 1; } if (*str == '
#include <stdio.h>
#include <string.h>
int findSubstring(char *str, char *sub)
{
if (*sub == '\0') {
return 1;
}
if (*str == '\0') {
return 0;
}
if (*str == *sub) {
return findSubstring(str + 1, sub + 1);
} else {
return findSubstring(str + 1, sub);
}
}
int main()
{
char str[] = "hello world";
char sub[] = "world";
if (findSubstring(str, sub)) {
printf("'%s' is a substring of '%s'\n", sub, str);
} else {
printf("'%s' is not a substring of '%s'\n", sub, str);
}
return 0;
}
'
) { return 0; } if (*str == *sub) { return findSubstring(str + 1, sub + 1); } else { return findSubstring(str + 1, sub); } } int main() { char str[] = "hello world"; char sub[] = "world"; if (findSubstring(str, sub)) { printf("'%s' is a substring of '%s'\n", sub, str); } else { printf("'%s' is not a substring of '%s'\n", sub, str); } return 0; }

在上面的代码中,findSubstring函数递归地比较字符串str和子串sub,如果substr的子串,则返回1,否则返回0。通过调用main函数测试该函数,可以输出是否子串是否存在。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1097172.html

(0)
派派
上一篇 2024-07-11
下一篇 2024-07-11

相关推荐

  • java报错原因及排查方法

    Java报错的原因有很多种,常见的包括以下几种:语法错误:Java代码中的语法错误会导致编译错误,无法通过编译。这种错误可以通过仔细检查代码并修复错误的语法来解决。运行时错误:Java代码在运行时可能出现各种错误,包括空指针异常、数组越界异常、类型转换异常等。这种错误可以通过使用异常处理机制,如try-catch块来捕获和处理异常。逻辑错误:Java代码中的逻辑错误可能导致程序运行结果与预期不符。

    2024-02-01
    0
  • mybatisplus模糊查询的写法是什么

    在MyBatis Plus中,模糊查询可以通过构建QueryWrapper对象来实现。以下是一个示例代码:// 创建QueryWrapper对象QueryWrapper queryWrapper = new QueryWrapper();// 使用like方法进行模糊查询,第一个参数为字段名,第二个参数为要匹配的值queryWrapper.like(“username”,

    2024-02-18
    0
  • MySQL怎么设置变量参数

    在MySQL中,可以使用SET语句来设置变量参数。下面是一个简单的示例:SET @myVariable = 'Hello, World!';SELECT @myVariable;在这个示例中,我们使用SET语句来设置一个名为@myVariable的变量,并将其值设置为’Hello, World!’。然后,我们使用SELECT语句来查看变量的值。除了使用SET语句来设置变量

    2024-03-02
    0
  • 荣耀9x如何安装小插件

    很多用户喜欢在手机的桌面上安装一下小插件,来装饰一下手机桌面,但是也有很多用户不知道这么操作,其实只要用两个手指在屏幕上同时向中间拉就会出现窗口小工具了。荣耀9x如何安装小插件:1、首先在手机上用手指同时向中间滑。2、然后选择最底部的“窗口小工具”。3、最后就可以添加用户想要的小插件了。

    2024-02-03
    0
  • xboxseriesx怎么录屏

    当我们在玩游戏的时候经常会想要录制一些有关自己游戏的视频,其中很多玩xboxseriesx的用户就不知道该怎么进行录屏,这里就给大家介绍一下具体的操作方法。xboxseriesx怎么录屏1、打开“Windows设置”然后再点击“游戏” 2、把框中的这个点击打开。 3、按照自己的喜好,设置这些快捷方式。 4、按下“win+G”,看到弹出来的提示以后点击“是的” 5、接着就可以开始录制了。

    2024-02-03 技术经验
    0
  • 多多买菜推广码怎么获取

    多多买菜推广码是参与地推合作之后我们才可以获取的,通过为多多买菜推广,每次成功推广都能够获得赏金报酬,推广码只需要在微信多多买菜门店端中选择地推合作就能获得了。多多买菜推广码怎么获取:1、首先我们打开手机微信,点击右上角“+号”,选择“添加朋友”2、接着在其中搜索“多多买菜门店端”,关注并进入该公众号。3、进入公众号后,点击右下角“合作加盟”,再选择“地推合作”4、最后只要完成问卷调查并“提交”,

    2024-02-24 技术经验
    0

发表回复

登录后才能评论