你好,请问一下x=f(4),是把4的值代入形参long n吗? 代入之后return(n*f(n-1))是指返回4*3的值到形参的意思吗?f()函数里面的语句到底是什么意思?我有点看不懂,能帮我解析一下吗
追答x=f(4) 是把4带入形参,然后将函数返回值赋给x
return n*f(n-1)就是我先计算f(n-1) ,就是先计算n-1的阶乘,然后乘上n作为返回值返回。
追问一开始n的值是4吗?return(n*f(n-1))的意思就是返回 4*3的值吗?
追答一开始n的值是4,返回的是4*f(3)
追问第二次返回的就是3*f(2),然后继续返回2*f(1)吗?然后返回1?
追答对的!
追问那最后返回1的返回到形参吗?那最后形参的值是[4*(4-1)]*[3*(3-1)]*[2*(2-1)]*1这样算出来的吗
不对。。写错了
追答返回值和形参没关系,形参的值也不会被改变。每次调用这个函数都是一个新的过程。
追问不好意思,耽误你那么多时间,能请问下最后形参的值是怎么算出来24的吗?
追答f(4)就是4*f(3) ,然后f(3) 就是3*f(2) ,f(2) 就是2*f(1) ,f(1) 就是1. 0。最后就是4*3*2*1.0
追问好的,谢谢