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

来源:5-7 递归函数(一)

weixin_慕设计3536944

2021-09-21 18:40

#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;
}


写回答 关注

1回答

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

    加个判断语句试试


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926299 学习 · 20799 问题

查看课程

相似问题