#include <stdio.h>
int fact1(int);
int fact2(int);
// 方法1
int fact1(int num)
{
int result = 0;
if (num > 0) {
result = num * fact1(num - 1);
} else {
result = 1;
}
return result;
}
// 方法2
int fact2(int num)
{
if (num > 1) {
return num * fact2(num - 1);
} else {
return 1;
}
}
int main(void)
{
int num;
printf("請輸入一個數字:");
scanf("%d", &num);
printf("函數1階乘結果:%d\n", fact1(num));
printf("函數2階乘結果:%d\n", fact2(num));
}
output:
[root@centos8 ~]# gcc r.c && ./a.out
請輸入一個數字:5
函數1階乘結果:120
函數2階乘結果:120
C語言遞歸實現階乘
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.