C语言函数的递归(上)
2021-01-24 22:43
931 查看
函数递归:
一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。
递归的主要思考方式:
把大事化小。
用递归的方法是实现:接受一个整型值(无符号),按照顺序打印它的每一位。 例如: 输入:1234,输出 1 2 3 4
void print(int n) { if (n > 9) { print(n / 10); } printf("%d ", n%10); } int main() { unsigned int num = 0; scanf("%d", &num); print(num); return 0; }
编写函数不允许创建临时变量,求字符串的长度。
//递归的方法 int my_strlen(char* str) { if (*str != '\0') return 1 + my_strlen(str + 1); else return 0; } //把大事化小 //my_strlen("bit"); //1+my_strlen("it"); //1+1+my_strlen("t"); //1+1+1+my_strlen("") //1+1+1+0 //3 int main() { char arr[] = "bit"; //模拟实现一个strlen函数 int len = my_strlen(arr);//arr是数组,数组传参,传过去的不是整个数组,而是第一个元素的地址 printf("%d\n", len); return 0; }
递归存在限制条件:
存在限制条件,当满足这个限制条件的时候,递归便不再继续。
每次递归调用之后越来越接近这个限制条件。
2021.1.24
相关文章推荐
- 分支和循环(零基础学习C语言)(一)
- [CPP] STL 简介
- C语言函数以及函数的使用
- 初识C语言1
- C++中 unordered_map 与 map 的区别
- C语言的一些练习以及自己写一个猜数字小游戏
- C语言的for循环以及一些练习
- C语言学习心得(八)
- 从零开始学习C语言
- C语言学习心得(七)
- C语言 循环结构和选择结构(1)
- C语言学习心得(六)
- 从零开始学习C语言
- C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻
- 学C语言和学C++它有毛关系吗?
- C语言课程心得(五)
- C语言课程心得(二)
- C++一些常见面试题---持续更新
- 分享一个的c++写的,模仿awk的框架类CAwkDoc
- C语言-day2