qiuqiuyaq 2021-08-30 19:35 采纳率: 97.9%
浏览 21
已结题

想问下这个部分执行递归操作是怎么样的

img

  • 写回答

1条回答 默认 最新

  • CCodelab 2021-08-30 19:43
    关注

    递归就是不断调用本身的函数:

    你这个函数rfact,如果我给他传入参数: n = 10,: rfact(10).

    • 进函数,判断(if(n > 0), n等于10,所以条件正确, 执行语句10 * rfact(9)
    • 进函数,判断(if(n > 0), n等于9,所以条件正确, 执行语句9* rfact(8)
      ...
    • 进函数,判断(if(n > 0), n等于2,所以条件正确, 执行语句2* rfact(1)
    • 进函数,判断(if(n > 0), n等于1,所以条件正确, 执行语句1* rfact(0)
    • 进函数,判断(if(n > 0), n等于0,所以条件错误, 执行语句ans = 1,然后退出函数,
    • 退出函数
    • 退出函数
    • 退出函数 ... 知道退出所有函数。

    ——若有帮助,请采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月8日
  • 已采纳回答 8月31日
  • 创建了问题 8月30日

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?