函數遞歸調用過程中的調用堆棧的情況


為了加深對函數遞歸調用過程中的理解,本Demo程序特意在VS2008 C#控制台程序實現了階乘的計算功能,用於觀察函數遞歸調用過程中的調用堆棧的情況。

源碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RecursiveTset
{
    class Program
    {
        //階乘的定義:n!=n*(n-1)!,特別的,1!=1;0!=1
        //階乘的實現:采用遞歸調用方式。主要測試和觀察遞歸過程中的函數堆棧的調用情況!
        public static int JiechengFun(int num)
        {
            int result=1;
            if (num == 0)
                result = 1;
            if (num >= 1)
                result = num * JiechengFun(num - 1);
            return result;
        }

        static void Main(string[] args)
        {
            int res = Program.JiechengFun(4);
            System.Console.WriteLine(res);
        }
    }
}

函數遞歸調用過程中的調用堆棧的情況截圖如下:

源碼下載:https://pan.baidu.com/s/18SHyws1vX2a-fvbT-nQUtw


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM