C语言小技巧

/*
求阶乘时设置最大调用层数,防止栈占满
当从函数进入另一个函数时当前函数的内容会入栈,另一个函数调用完时在出栈
*/
int factorial(int n, int level)
{
    //printf("%d 
", level);

    if(level>3)
    {
        printf("exit");
        return -1;
    }
    if(n==0 || n==1)
    {
        return 1;
    }

    return n*fn(n-1,++level);
}
原文地址:https://www.cnblogs.com/siqi/p/4041995.html