توابع بازگشتی در C++
1- در اولین فراخوانی تابع ()factorial شرط if درست است. بعد
factorial(num-1) return num*
اجرا می شود که تابع factorial را برای دومین بار صدا می زند. آرگومان ارسالی به آن 3 (num-1) است.
2- در دومین فراخوانی تابع ()factorial، شرطif درست است. بعد
factorial(num-1) return num*
اجرا می شود که تابع factorial را برای سومین بار صدا می زند. آرگومان ارسالی به آن 2 (num-1) است.
3- در سومین فراخوانی تابع ()factorial، شرط if درست است. بعد
factorial(num-1) return num*
اجرا می شود که تابع factorial را برای چهارمین بار صدا می زند. آرگومان ارسالی به آن 1 (num-1) است.
4- در چهارمین فراخوانی تابع ()factorial، شرط if نادرست است. بعد return 1 اجرا می شود که 1 را به سومین تابع ()factorial ارسال می کند.
5- سومین تابع factorial() 2 را به دومین تابع ()factorial ارسال می کند.
6- دومین تابع factorial() 6 را به اولین تابع ()factorial ارسال می کند.
7- در نهایت، اولین تابع factorial() 24 را به ()main ارسال می کند که بر روی صفحه نمایش داده می شود.