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

img

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

你这个函数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,然后退出函数,
  • 退出函数
  • 退出函数
  • 退出函数 ... 知道退出所有函数。

——若有帮助,请采纳