C++学习记录-递归的运行顺序
C++学习记录-递归的运行顺序
递归的运行顺序:
示例代码:
1 | void Print(int N) { |
传入 N=3
1.本层函数记为一层,N不等于0,执行if内的语句,调用自身(记为第二层)并传入2(N-1=2)
2.第二层函数运行,N不等于0,执行if内的语句,调用自身(记为第三层)并传入1(N-1=1)
3.第三层函数运行,N不等于0,执行if内的语句,调用自身(记为第四层)并传入0(N-1=0)
4.第四层函数运行,N等于0,结束,返回上一层(第三层)的断点处,第三层继续运行
5.第三层打印1,结束,返回上一层(第二层)的断点处,第二层继续运行
6.第二层打印2,结束,返回上一层(第一层)的断点处,第一层继续运行
7.第一层打印3,结束。
**总结:**递归在调用一个函数后,会先把调用的函数运行完,再返回自身的断点处继续运行
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!





