C语言函数的递归(上)
16lz
2021-01-25
函数递归:
一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。
递归的主要思考方式:
把大事化小。
用递归的方法是实现:接受一个整型值(无符号),按照顺序打印它的每一位。 例如: 输入: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//3int main(){ char arr[] = "bit"; //模拟实现一个strlen函数 int len = my_strlen(arr);//arr是数组,数组传参,传过去的不是整个数组,而是第一个元素的地址 printf("%d\n", len); return 0;}
递归存在限制条件:
存在限制条件,当满足这个限制条件的时候,递归便不再继续。
每次递归调用之后越来越接近这个限制条件。
2021.1.24
©著作权归作者所有:来自51CTO博客作者qq5ffb0698bd953的原创作品,如需转载,请注明出处,否则将追究法律责任好知识,才能预见未来
赞赏
0人进行了赞赏支持
更多相关文章
- 结构体的初级认识
- Android在标准linux基础上对休眠唤醒的实现
- 学习深入理解android第一章
- Android应用程序键盘(Keyboard)消息处理机制分析(6)
- java android 删除文件和文件夹的函数
- Android中Log机制
- [置顶] android 中使用回调函数
- android中打印函数调用栈、内存使用、屏幕分辨率
- Android双击事件拦截方法