توابع بازگشتی در 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 ارسال می کند که بر روی صفحه نمایش داده می شود.

ادامه مطلب...