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

avatar
作者
猴君
阅读量:8

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

#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; } 

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!