递归和迭代各有优劣。
递归:内存开销可能大(要等所有函数返回),可读性好
迭代:性能高,可读性差
斐波那契数列

#include <stdio.h>// 递归方式实现int Factorial(int n) {if (n == 0) {return 1; // f(0) = 1} else {return n * Factorial(n - 1); // f(n) = nf(n - 1)}}// 迭代方式实现int FactorialByIteration(int n) {int result = 1;for (int i = n; i > 0; --i) {result *= i;}return result;}int main(void) {printf("3! : %d\n", Factorial(3));printf("5! : %d\n", Factorial(5));printf("10! : %d\n", Factorial(10));printf("10! : %d\n", FactorialByIteration(10));return 0;}
