C++ 递归函数的栈图

2023-03-20 15:50 更新

在前面的章节中,我们使用了一个栈图来表示一个程序在函数调用时所处的状态。 同样的图形也能使得递归函数的解释变得更容易些。

每次函数被调用,它都会创建一个新的实例,包含着函数的局部变量和参数。

本图说明了函数countdown的一个栈图,调用时n的初始值为3;

enter image description here

图中有一个main函数的实例和四个countdown函数的实例,每个实例中的参数n的值都不同。栈底的countdown实例n取值为0。它没有进行递归调用,因此没有更多的countdown实例。

main函数的实例是空的,因为main函数没有任何参数或者局部变量。作为一个练习,请你为nLines画出一个栈图,参数n取值为4。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号