C语言 递归函数
学习递归 · 难度:进阶 · +15XP
递归 Recursion
函数调用自己的编程技巧,解决分治类问题特别优雅。
经典例子
// 阶乘 n! = n×(n-1)!
int factorial(int n){
if(n<=1)return 1; // 基线条件(停止递归)
return n*factorial(n-1); // 递归调用
}
// 斐波那契 fib(n)=fib(n-1)+fib(n-2)
int fib(int n){
if(n<=1)return n;
return fib(n-1)+fib(n-2);
}递归三要素
- 基线条件:何时停止
- 递归条件:如何分解问题
- 向基线靠近:每次递归都更接近停止条件
???? 练习任务
写一个递归函数计算1+2+...+n。
学习与实践建议
- 先理解本节的核心概念和语法规则
- 在右边编辑器中修改示例代码,观察运行结果变化
- 尝试用学到的知识完成一个小练习——比如自己写一个工具函数或小程序
- 遇到问题时,查阅官方文档是最快的学习途径
编程是门实践技能,动手写代码比看教程重要得多。坚持每天练习,你会很快看到进步!