用c语言写一个递归代码
时间: 2024-10-19 15:02:39 浏览: 28
c代码-递归阶乘啊
在C语言中,递归是一种函数调用自己的编程技术,常用于解决可以分解成相似子问题的问题,如计算阶乘、斐波那契数列等。下面是一个简单的例子,展示如何用C语言编写计算阶乘的递归函数:
```c
#include <stdio.h>
// 定义递归函数计算阶乘
int factorial(int n) {
// 基本情况:0 和 1 的阶乘都是 1
if (n == 0 || n == 1)
return 1;
else
// 递归情况:n 的阶乘等于 n 乘以 (n - 1) 的阶乘
return n * factorial(n - 1);
}
int main() {
int num;
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num >= 0) {
long long result = factorial(num);
printf("该数的阶乘是:%lld\n", result);
} else {
printf("输入错误,阶乘只对非负整数有效。\n");
}
return 0;
}
```
当你运行这个程序并输入一个数字时,它会递归地计算并显示给定数值的阶乘。
阅读全文