问答详情
源自:5-7 递归函数(一)

这段代码里,main函数的n如果是负数还会输出阶乘等于零,要怎么优化?

#include<stdio.h>
int factorial(int n)
{
    int result;
    if(n<0)
    {
        printf("输出错误!\n");
        return 0;
    }
    else if(n==0||n==1)
    {
        result=1;
    }
    else
    {
        result=factorial(n-1)*n;
    }
    return result;
}
int main()
{
    int n=5;
    printf("%d的阶乘=%d",n,factorial(n));
    return 0;
}


提问者:weixin_慕设计3536944 2021-09-21 18:40

个回答

  • weixin_精慕门1546955
    2021-11-02 10:46:05

    加个判断语句试试