本期介绍 主要介绍:在使用临时变量的时候如何实现求字符串长度,用递归法来实现求字符串长度。
前言 ??通常情况下,在实现“求字符串长度”函数的时候,我们通常会在函数内部创建一个临时变量来统计字符的个数,就如下图所示。那能不能在不创建临时变量的前提下来实现“求字符串长度”函数呢?是可以的,用递归的方法就可做到。
文章图片
用递归法实现strlen函数 ??递归法的诀窍就是:把一个大且复杂的问题一层一层的剥离成一个与原问题相似但规模较小的问题来求解。就如下图所示:
文章图片
int my_strlen(char* str)
{
if (*str != '\0')
{
return 1 + my_strlen(str + 1);
}
else
{
return 0;
}
}
int main()
{
char arr[] = "hello word";
int num = my_strlen(arr);
printf("%d", num);
return 0;
}
??注意这里的传递的是数组arr的数组名,之前在【链接:数组传参的本质】。
【求字符串长度【不创建临时变量】】
文章图片
这份博客如果对你有帮助,给博主一个免费的点赞以示鼓励欢迎各位点赞评论收藏??,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言欧。
推荐阅读
- 青蛙跳台阶问题【详解】
- 排序算法|两个基本排序算法【选择排序,冒泡排序】【详解】
- c语言|C语言小游戏---扫雷
- c语言|二分查找【详解】
- c语言|函数声明和定义真正的用法
- 数据结构初阶|初阶数据结构——线性表——链表——带头双向循环链表
- 游戏|我用游戏语音软件创建了一个代码社区,你愿意加入吗()
- C++学习|C++模板进阶
- C语言关键字