问答详情
源自:5-7 递归函数(一)

递归函数

5a6350e40001d97105400960.jpg
请问这个程序是怎么运行的啊 能详细的解释一下过程吗

提问者:慕粉1239299916 2018-01-20 22:25

个回答

  • qq_jh_12
    2018-01-22 11:50:27

    我是这么想的,既然你能理解factrial(5)运行到result=factorial(4)*5,是否可以理解从factorial(4)运行到result=factorial(3)*4?这时候我可以把它(result=factorial(4)*5)等价到(result=factorial(3)*4*5)。。。就这样重复。这个函数从main开始执行,到printf转到factorial执行完之后(即result=facorial(1)*120;result=120),return result;printf答案,结束。。。。。不知道想的对不对,只是我自己的理解,有机会你可以问一下高手们。

  • qq_jh_12
    2018-01-21 15:26:31

    这个程序,从main开始运行,调用factorial(5),到printf时,程序再到factorial(n)开始运行,n=5,取else,result=factorial(4)*5→result=factorial(3)*4*5..........result=factorial(1)*2*3*4*5→result=120,return result。。。。。。新手 自己的理解 希望有帮助