在C语言中实现函数来计算一个数的阶乘可以通过递归或者循环的方式。下面提供一个使用递归方式实现的函数:
#include <stdio.h>
// 函数声明
unsigned long long factorial(unsigned int n);
int main() {
unsigned int number;
printf("请输入一个整数:");
scanf("%u", &number);
printf("%u 的阶乘是:%llu\n", number, factorial(number));
return 0;
}
// 函数定义,使用递归方式计算阶乘
unsigned long long factorial(unsigned int n) {
if (n <= 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
用户输入一个非负整数,这个程序将会输出其阶乘结果。注意我使用了 unsigned long long
数据类型以支持较大数的阶乘结果,但仍然可能因为数值过大而导致数据溢出。