在C语言中,阶乘可以通过循环或递归实现。以下是两种常见方法的对比总结:
| 方法 | 实现方式 | 优点 | 缺点 |
| 循环 | 使用for或while循环计算 | 简单易懂,效率高 | 不适合复杂逻辑 |
| 递归 | 函数自身调用 | 代码简洁,逻辑清晰 | 可能导致栈溢出 |
例如,使用循环计算5!的代码如下:
```c
int fact = 1;
for(int i=1; i<=5; i++) {
fact = i;
}
```
而递归实现则为:
```c
int factorial(int n) {
if(n == 0) return 1;
return n factorial(n-1);
}
```
根据需求选择合适的方法,循环更适合实际应用,递归适用于教学或简单场景。