递归函数怎么写( 三 )


因为一旦某个函数A中调用了函数B(或者自己) , 那么A中的代码会停在调用的位置 , 而转向B中去执行 , 同理 , 如果B又调用函数C , 那么B又停在调用的位置 , 去执行C , 如果无限调用 , 那么程序是永远不会结束的 。
当然 , 也有这种情况 , A调用B , 然后继续自己的代码 , 不管B的死活 , 这种不在我们的讨论范围内 , 因为那牵扯到另一种编程方式:多线程 。
参考资料:搜狗百科——递归函数
5.c语言 函数递归调用的简单例子=#include <stdio.h>
【递归函数怎么写】/// 求阶乘函数
/// 递归思想
/// n! = n * (n-1) * (n-2) *。* 1
/// n! = n * [(n-1) * (n-2) *。* 1]
/// n! = n * (n-1)! 递归方程
/// 这是递归实现
unsigned Factorial(unsigned int n)
{
if (n == 0) return 1; // 对于0的阶乘 , 当n=0时 , 递归返回
return n * Factorial(n-1); // 递归调用
}
void main()
{
int n = 3;
printf("3! = %d",Factorial(n));
}

递归函数怎么写

文章插图