Visual Studio是一个很好用的IDE,利用debug进行调试不但能快速发现错误,更能提升编程效率。
下面采用Visual Studio debug中step into调试斐波那契数列,追踪函数内部变量。
①首先一定要注意先建立一个工程文件
②编辑好代码后双击代码侧边设置断点
③右键断点,选择命中条件(when hit)
④此时出现一个选择框,指定命中中断点时要执行什么操作。
大括号内{n}填需要显示的变量值,由于此时只有一个变量n,因此每次执行到此处时,显示调用的函数和n的值。
⑤此时只计算斐波那契数列前3个值用来分析。
调用函数为Fibonacci(int),此时N的值为1。
第一次n=1 F(1)=1 显示1
调用函数为Fibonacci(int),此时N的值为2。
第二次n=2 F(2)=1 显示1
调用函数为Fibonacci(int),此时N的值为1。
第三次n=3时递归第一次调用为1
调用函数为Fibonacci(int),此时N的值为2。
第三次n=3时递归第二次调用为2
调用函数为Fibonacci(int),此时N的值为3。
第三次最终的值为3
综上所述,在递归调用过程中F(3)被计算了2次,F(2)被计算了3次。F(1)被调用了5次,Fib(0)中被调用了3次。
N=5时的结果如下