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重新編輯 ]
|