Recursion 只有一个变量的阶乘计算器中存储的值在哪里? #包括 使用名称空间std; 因式因子(因式x){ 如果(x==1)( 返回1; }否则{ 返回x*factorialFinder(x-1); } } int main(){ 它被称为“堆栈”。当函数不断被递归调

Recursion 只有一个变量的阶乘计算器中存储的值在哪里? #包括 使用名称空间std; 因式因子(因式x){ 如果(x==1)( 返回1; }否则{ 返回x*factorialFinder(x-1); } } int main(){ 它被称为“堆栈”。当函数不断被递归调,recursion,storage,factorial,Recursion,Storage,Factorial,只有一个变量的阶乘计算器中存储的值在哪里? #包括 使用名称空间std; 因式因子(因式x){ 如果(x==1)( 返回1; }否则{ 返回x*factorialFinder(x-1); } } int main(){ 它被称为“堆栈”。当函数不断被递归调用时,程序会跟踪“它有多深”和“完成后去哪里”。它还包括“我用什么值调用它”。它保留堆栈上的所有信息。重要概念。非常感谢,我很困惑这些数字是如何四处浮动并不断自我应用的。研究范围和生存期,特别是研究堆栈如何工作。局部变量通常分配在“堆栈”上,这

只有一个变量的阶乘计算器中存储的值在哪里?
#包括
使用名称空间std;
因式因子(因式x){
如果(x==1)(
返回1;
}否则{
返回x*factorialFinder(x-1);
}
}
int main(){

它被称为“堆栈”。当函数不断被递归调用时,程序会跟踪“它有多深”和“完成后去哪里”。它还包括“我用什么值调用它”。它保留堆栈上的所有信息。重要概念。非常感谢,我很困惑这些数字是如何四处浮动并不断自我应用的。研究范围和生存期,特别是研究堆栈如何工作。局部变量通常分配在“堆栈”上,这就像每次调用子例程时将一张新的纸添加到一堆中。当子例程退出时,最后一张纸被发送到垃圾桶,它使用前一张值作为局部变量。当调用值为4的“factorialFinder(x-1)”时,会将一张新的纸放在堆栈上并告知factorialFinder的X值为3,然后再加上另一个,表示“X的值为2”。合理的初级读物可在上找到。任何计算机科学文本都将详细介绍。罗伯特的评论也非常有助于快速介绍…绝对是一个值得理解的概念。谢谢罗伯特!第一个周期后等于20的x会做同样的事吗?
#include <iostream>
using namespace std;

int factorialFinder(int x){

    if(x==1)(
      return 1;
    }else{
      return x*factorialFinder(x-1);
    }

}

int main(){

    cout << factorialFinder(5) << endl;

}