下面是一个使用递归实现的C语言函数,用于查找字符串中的子串:
#include#include 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
,如果sub
是str
的子串,则返回1,否则返回0。通过调用main
函数测试该函数,可以输出是否子串是否存在。