okey对阶乘有了了解,是不是就掌握了规律,试着写写代码吧
今天的代码会用到函数的递归。阶乘的英语单词是factorial,那我们函数名就用factorial吧
int factorial(int n)
{
if (n < 0)
{
printf("负数没有阶乘");
}
else if (n == 0)//0的阶乘是1
{
return 1;
}
else
{
return n * factorial(n - 1);
}
}
int main()
{
int n = 5;
int f = 0;//建立一个变量用于接受阶乘的值
f = factorial(n);
printf("%d", f);
return 0;
}
这边帮大家梳理一下递归的代码运行逻辑
下图是从下往上推演的,从底部开始看
这一题算是对函数递归的启蒙,希望对你有帮助!初学递归真的会有逻辑堵塞,不过时间久了就突然明白了