你好,我有这段代码是我根据其他一些递归和阶乘程序编写的,但我的问题是我真的很困惑它如何存储值并保留它,然后在最后返回它
int factorialfinder(int x)
{
if (x == 1)
{
return 1;
}else
{
return x*factorialfinder(x-1);
}
}
int main()
{
cout << factorialfinder(5) << endl;
}
所以 5 进入,并通过一次又一次地调用它的函数来乘以 4,然后它得到 1 并返回阶乘答案
为什么?我不知道它是如何存储的,为什么 return 1 返回实际答案,它到底在做什么?