递归次数的统计

qq_36920844 2016-12-08 09:18:02
递归调用次数统计 最后一个函数没看懂 我是这样想的 两个return会返回两个值 但是在上一个函数调用时可以明显看出只用了一个 另一个i为什么不会显示 难道是因为i是全局变量吗
...全文
428 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuh421 2016-12-08
  • 打赏
  • 举报
回复
i 很明显就是一个全局变量啊. 这个程序就是用 全局变量i来统计递归的次数. 多个return并不是返回多个值, 而是在不同的条件下, 这个函数会返回不同的值. 实际上你这个程序中的 那句 return i; 是永远不会执行的.
赵4老师 2016-12-08
  • 打赏
  • 举报
回复
“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门! 递归函数关注以下几个因素 ·退出条件 ·参数有哪些 ·返回值是什么 ·局部变量有哪些 ·全局变量有哪些 ·何时输出 ·会不会导致堆栈溢出
paschen 2016-12-08
  • 打赏
  • 举报
回复
两个return不是返回两个值,而是在不同情况下返回不同的值
qq_36920844 2016-12-08
  • 打赏
  • 举报
回复
我不太会结贴。。。新手
qq_36920844 2016-12-08
  • 打赏
  • 举报
回复
引用 6 楼 小灸舞的回复:
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
厉害了,新生,对编译器还不熟。。。我用的是devc++
小灸舞 版主 2016-12-08
  • 打赏
  • 举报
回复
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧