多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
在前面的章节中,我们使用了一个栈图来表示一个程序在函数调用时所处的状态。 同样的图形也能使得递归函数的解释变得更容易些。 每次函数被调用,它都会创建一个新的实例,包含着函数的局部变量和参数。 本图说明了函数countdown的一个栈图,调用时n的初始值为3; ![enter image description here](https://box.kancloud.cn/2015-09-01_55e55c6fdb7be.jpg) 图中有一个main函数的实例和四个countdown函数的实例,每个实例中的参数n的值都不同。栈底的countdown实例n取值为0。它没有进行递归调用,因此没有更多的countdown实例。 main函数的实例是空的,因为main函数没有任何参数或者局部变量。作为一个练习,请你为nLines画出一个栈图,参数n取值为4。