c语言n的阶乘函数调用

以下是一个简单的C语言程序实现计算n的阶乘的功能:

#include <stdio.h>
int factorial(int n);
int main()
{
    int n;
    printf("请输入一个正整数:");
    scanf("%d", &n);
    printf("%d! = %d\n", n, factorial(n));
    return 0;
}
int factorial(int n)
{
    if (n == 0) // 0的阶乘为1
    {
        return 1;
    }
    else // 递归计算n的阶乘
    {
        return n * factorial(n - 1);
    }
}

运行程序后,用户需要输入一个正整数,程序会计算出该数的阶乘并输出结果。其中,factorial函数采用递归的方式计算阶乘,当n为0时返回1,否则返回n乘以n-1的阶乘。注意,阶乘的计算结果可能非常大,如果使用int类型存储可能会溢出,可以考虑使用long long类型或者高精度计算的方式。

 
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定