求字符串长度【不创建临时变量】

本期介绍 主要介绍:在使用临时变量的时候如何实现求字符串长度,用递归法来实现求字符串长度。
前言 ??通常情况下,在实现“求字符串长度”函数的时候,我们通常会在函数内部创建一个临时变量来统计字符的个数,就如下图所示。那能不能在不创建临时变量的前提下来实现“求字符串长度”函数呢?是可以的,用递归的方法就可做到。
求字符串长度【不创建临时变量】
文章图片

用递归法实现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的数组名,之前在【链接:数组传参的本质】。
【求字符串长度【不创建临时变量】】求字符串长度【不创建临时变量】
文章图片

这份博客如果对你有帮助,给博主一个免费的点赞以示鼓励欢迎各位点赞评论收藏??,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言欧。

    推荐阅读