版上各位好,
小弟最近剛學C++
目前看到遞迴函式的地方有點小問題
遞迴函式的經典範例就是拿來計算階乘
但我有一個地方有點不太懂
程式碼如下 :
int factorial(int n) {
if (n == 1)
return 1;
else
return (n * factorial(n - 1));
}
在輸入的n不為1的時候會一直不斷地呼叫自己做計算
當n==1時停止
但當它不斷呼叫自己直至n=1時不是會被return 1嗎?
為何最終的答案還是階乘正確計算的數值呢?
請教版上各位大神解答
感謝!