用递归和非递归分别实现求n的阶乘(不考虑溢出的问题)
#include <stdio.h>
int factorial1(int n)
{
int total = 1;
for (int i = 1; i <= n; i++)
{
total *= i;
}
return total;
}
int factorial2(int n)
{
if (n <= 1)
return 1;
else
return n*factorial2(n - 1);
}
int main()
{
printf("%d\n", factorial1(3));
printf("%d\n", factorial2(4));
return 0;
}
运行结果: