16 return(f);
17 }
当输入4时,主函数调用power(4),求4!的示意如图5.3所示。右侧一系列向下的箭头表示函数调用,旁边的数字表示传递的参数;左侧的向上的箭头表示返回,旁边的数字表示返回值。power反复调用自身: power(4)调用power(3), power(3)调用power(2), power(2)调用power(1)。参数逐次变小,当最后调用power(1)时,结束递归的条件已经满足,于是开始逐级完成乘法运算,最后计算出4!的结果:24。
图5.3
当然在调用的过程中是需要内存开销的。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] 下一页