递归函数

来源:5-7 递归函数(一)

慕粉1239299916

2018-01-20 22:25

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

写回答 关注

2回答

  • 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答案,结束。。。。。不知道想的对不对,只是我自己的理解,有机会你可以问一下高手们。

    慕粉1239...

    嗯嗯 差不多明白了 那么从执行到结束 应该从return 1的时候开始 整个运算程序就结束了 剩下的就是打印输出了吧

    2018-01-23 20:27:33

    共 1 条回复 >

  • 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。。。。。。新手 自己的理解 希望有帮助

    慕粉1239...

    其他的我都明白 但是从 result=factorial(4)*5 开始是怎么执行到result=factorial(3)*4*5的呢 执行完else以后 接下来的程序该从哪里执行啊

    2018-01-22 11:31:16

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题

递归函数

回答 1

递归函数

回答 1

递归函数

回答 3

递归函数

回答 1

递归函数

回答 1