我有一段代碼,找出給定值的階乘數。我試圖通過調試代碼來找出代碼流。但我仍然對流程感到困惑。以下是我的代碼片段,任何人都可以幫助我理解流程嗎?析因邏輯如何工作?
static void Main()
{
long value = factorial(5);
}
static long factorial(long num)
{
if (num <= 1)
return 1;
else
return num * factorial(num - 1);
}
這是一個遞歸函數 –
在調試器中單步執行代碼是理解遞歸的一種可怕的方式:) –
@ZiyaoWei 7個用戶極不可能提供適當的樣本。還有每個人都沒有投票。上傳並不一定意味着缺乏理解,儘管我沒有真正看到任何理解遞歸的人都能很好地提升這一點。 – Dukeling