C语言 递归

2017-07-07  本文已影响0人  先给自己定一个小目标

C允许函数调用自己,该调用过程称为递归。

工作过程

main()调用了带参数1的up_and_down()函数,以此类推#1 --->#2 --->#3 --->#4.

当执行到第四级时,if测试条件为假,up_and_down()函数停止调用自己,开始执行第二条printf语句打印#4,此时第四级调用结束,控制被传回它的主调函数(#3),在第三调用中,执行的最后的一条语句是调用if语句中的第四级调用,被调函数(#4)把控制返回在这个位置,因此第三级继续执行后面的代码(第二个printf)以此类推:#3--->#2--->#1

循环与递归实现求阶乘

循环:n * (n-1) * (n-2) ......* 1

递归:n * !(n-1)

递归处理倒序:十进制转换二进制,处理最后一位。

上一篇下一篇

猜你喜欢

热点阅读