C语言小技巧

 

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

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

    return n*fn(n-1,++level);
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。