ety
|
分享:
▲
▼
这怎么不是明确的公式? 我们用 3 来当作输入的参数好了, 这程式的执行流程会是:
Step1: 3 * factorial(3-1) => 电脑会解读为 3 * factorial(2), 这时就会先将3放在记忆体中, 然后去作factorial(2)的动作, 等有了结果, 再把结果跟记忆体里的 3 相乘.
Step2: factorial(2) => 刚刚呼叫了factorial(2), 所以电脑会解读为 2 * factorial(1), 这时就会先将2放在记忆体中, 然后去作factorial(1)的动作, 等有了结果, 再把结果跟记忆体里的 2 相乘.
Step3: factorial(1) => 刚刚呼叫了factorial(1), 依照factorial的程式码直接回传1.
Step4: 把刚刚算好的1拿来跟2相乘, 结果是2, 然后传回结果.
Step5: 把刚刚算好的2拿来跟3相乘, 结果是6, 输出答案!
就是这样, 一点也没有什么奇怪之处.
[ 此文章被ety在2006-08-11 11:03重新编辑 ]
|