C语言递归练习

简介: C语言递归练习

字符串长度

分析题目:

字符字符串长度结束的表示是\0

因此我们只要判断指针是否指向\0即可

如果不是就加一 如果是结束循环

代码如下

这里对于新手来说有个需要注意点的点 就是传入的指针类型

因为数组是char类型的 所以传参的时候记得也要传入char类型的指针

不用临时变量 求字符串长度

题目分析

不用临时变量自然就想到递归的方法

如果是\0那么久返回一个0

如果不是\0就返回一个1+数组指向下一个数的递归

代码如上

易错点依然和上面一题一样

不过有一点值得注意的是 虽然my_strlen()中的x+1可以替换乘 ++x 但是博主却不建议这么做

因为如果这么做的话实际上x的值就改变了 指针指向的位置就改变了

虽然在这一题可能看上去没有什么问题 但是很有可能在以后遇到不可预料的错误

求5的阶乘

阶乘的方法

题目分析:

很简单

如果不是1 返回这个数本身和上一个数的阶乘

如果是1 返回1

代码如下

求斐波那契数

两种方法

使用阶乘:

题目分析:

当参数为1或者2的时候返回1

当参数为其他值的时候返回上一个数和上上的数字的和

参考代码如下

目录
相关文章
|
5天前
|
C语言
C语言练习代码第一篇
C语言练习代码第一篇
|
8天前
|
C语言
C语言--函数递归与迭代
C语言--函数递归与迭代
|
15天前
|
机器学习/深度学习 算法 C语言
详细介绍递归算法在 C 语言中的应用,包括递归的基本概念、特点、实现方法以及实际应用案例
【6月更文挑战第15天】递归算法在C语言中是强大力量的体现,通过函数调用自身解决复杂问题。递归涉及基本概念如自调用、终止条件及栈空间管理。在C中实现递归需定义递归函数,分解问题并设定停止条件。阶乘和斐波那契数列是经典应用示例,展示了递归的优雅与效率。然而,递归可能导致栈溢出,需注意优化。学习递归深化了对“分而治之”策略的理解。**
30 7
TU^
|
15天前
|
机器学习/深度学习 C语言
C语言之函数递归
C语言之函数递归
TU^
14 1
|
3天前
|
C语言
|
5天前
|
C语言
【C语言】:递归题
【C语言】:递归题
12 0
|
5天前
|
编译器 C语言
|
6天前
|
C语言
|
8天前
|
C语言
C语言----递归--n的k次方
C语言----递归--n的k次方
11 0
|
8天前
|
C语言
C语言---函数递归
C语言---函数递归