c语言函数递归练习题
时间: 2024-11-01 21:06:14 浏览: 34
C语言函数练习题2.doc
递归在C语言中是一种特殊的函数调用方式,它将一个问题分解成规模更小的同类问题来求解。下面是一个简单的阶乘计算的递归函数练习示例:
```c
#include <stdio.h>
// 定义递归函数计算阶乘
int factorial(int n) {
if (n == 0 || n == 1) { // 递归的基本情况,当n为0或1时,返回1
return 1;
} else { // 递归的情况,n大于1时,调用自身并相乘
return n * factorial(n - 1);
}
}
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num >= 0) {
long long result = factorial(num); // 防止溢出,用long long存储大数值
printf("该数字的阶乘结果是:%lld\n", result);
} else {
printf("输入错误,只能计算非负整数的阶乘。\n");
}
return 0;
}
```
阅读全文