۱- در اولين فراخواني تابع ()factorial شرط if درست است. بعد
factorial(num-1) return num*
اجرا مي شود كه تابع factorial را براي دومين بار صدا مي زند. آرگومان ارسالي به آن ۳ (num-1) است.
۲- در دومين فراخواني تابع ()factorial، شرطif درست است. بعد
factorial(num-1) return num*
اجرا مي شود كه تابع factorial را براي سومين بار صدا مي زند. آرگومان ارسالي به آن ۲ (num-1) است.
۳- در سومين فراخواني تابع ()factorial، شرط if درست است. بعد
factorial(num-1) return num*
اجرا مي شود كه تابع factorial را براي چهارمين بار صدا مي زند. آرگومان ارسالي به آن ۱ (num-1) است.
۴- در چهارمين فراخواني تابع ()factorial، شرط if نادرست است. بعد return 1 اجرا مي شود كه ۱ را به سومين تابع ()factorial ارسال مي كند.
۵- سومين تابع factorial() ۲ را به دومين تابع ()factorial ارسال مي كند.
۶- دومين تابع factorial() ۶ را به اولين تابع ()factorial ارسال مي كند.
۷- در نهايت، اولين تابع factorial() ۲۴ را به ()main ارسال مي كند كه بر روي صفحه نمايش داده مي شود.