توابع Recursion (بازگشتی)
سلام کدی در زیر اومده که بسیار سادست و میخاد که آموزش توابع بازگشتی رو به من بده ولی من return زیر if رو نگرفتم قضیش چیه،آخه break گذاشتم دیدم خوب متد فراخوانی شد و مقدار 3 به متد وارد شد و هر بار در خودش متد فراخوانی شد و به ازای اون به طبع در استک چهار قاب روی هم قرار گرفت ولی بعد که به مقدار صفر متغییرم رسید باید دستور return اجرا میشد با اجرای اون دیدم که به یکباره قسمت زرد رنگ در break به انتهای متدم رفت و با اتمام این قسمت دوباره به قسمت فراخوانی متد که در خود متد آمده آمد و شروع به اجرای دستور نمایشم کرد میخاستم بدونم این return چرا اینجوری کرد؟
ممنون
class Program
{
public void Count(int inval)
{
if (inval == 0)
return;
Count(inval - 1);
Console.WriteLine("{0}", inval);
}
static void Main(string[] args)
{
Program mc = new Program();
mc.Count(3);
Console.ReadKey();
}
}
1 ضمیمه
نقل قول: توابع Recursion (بازگشتی)
سلام دوست عزیز
اینو بخون به نوعی به جوابت میرسی
نقل قول: توابع Recursion (بازگشتی)
این return برای خروج اضطراری از متده
نقل قول:
و با اتمام این قسمت دوباره به قسمت فراخوانی متد که در خود متد آمده آمد و شروع به اجرای دستور نمایشم کرد
بایدم اینطور باشه
بعد از اینکه 3 بار تابع بازگشت شذ و کار بازگشتیش تموم شد باید 3 بار هم خطوط بعد از فراخوانیش اجرا بشه