تابع بازگشتی در برنامه نویسی C

رتبه: 0 ار 0 رای sssss
تابع بازگشتی در برنامه نویسی C
نویسنده: میلاد حیدری زمان مطالعه 2 دقیقه
Banner Image

در این آموزش شیوه نوشتن توابع بازگشتی در برنامه نویسی C را به کمک مثال یاد خواهید گرفت.

به تابعی که خود را فراخوانی می کند، تابع بازگشتی می گویند و این روش به عنوان بازگشت شناخته می شود.

تابع بازگشتی چگونه کار می کند؟

void recurse()

{

… .. …

recurse(); // فراخوانی تابع داخل خود تابع

… .. …

}

int main()

{

… .. …

recurse();

… .. …

}

تابع بازگشتی بازگشت زمانی متوقف می شود که یک شرط (ها) برقرار شودف به این شرط، شرط توقف می گویند.

برای جلوگیری از بازگشت نامحدود در بیشتر مواقع از دستور if…else استفاده می شود. این دستور جایی نوشته می شود که یک مسیر فراخوانی بازگشتی است و دیگری نه.

مثال: مجموع اعداد طبیعی با استفاده از تابع بازگشتی

#include <stdio.h>

int sum(int n);

int main() {

int number, result;

printf(“Enter a positive integer: “);

scanf(“%d”, &number);

result = sum(number);

printf(“sum = %d”, result);

return 0;

}

int sum(int n) {

if (n != 0)

// خود را فراخوانی می کند sum() تابع

return n + sum(n-1);

else

return n;

}

خروجی

Enter a positive integer:3

sum = 6

ابتدا تابع ()sum درون تابع ()main با ارسال آرگومانnumber  فراخوانی می شود.

فرض کنید کاربر عدد ۳ را وارد می کند و این مقدار در اولین فراخوانی در پارامتر n تابع ()sum قرار می گیرد. با فراخوانی بعدی تابع درون خود تابع، n-1 یعنی عدد ۲ به تابع ()sum ارسال می شود. این روند ادامه می یابد تا n برابر با ۰ شود.

وقتی n برابر با ۰ شد، شرط if برقرار نیست و قسمت else اجرا می شود. در نهایت مجموع اعداد صحیح به تابع ()main برگردانده می شود.

تابع بازگشتی در برنامه نویسی C مزایا و معایب بازگشت

بازگشت برنامه را زیبا می کند، با این حال اگر کارایی برنامه اهمیت زیادی دارد به جای آن از حلقه ها استفاده کنید چون بازگشت سرعت برنامه را کند می کند.

همانطور که گفته شد بازگشت یک مفهوم مهم است و اغلب در ساختار داده ها و الگوریتم ها استفاده می شود. به عنوان مثال معمولاً از بازگشت در مسائلی مانند پیمایش درخت ها استفاده می شود.

profile name
میلاد حیدری

بخندید کتاب بخونید و خوب باشید تا جامعه مون به آرامش برسه. لطفا ! هر سوالی دارید در بخش نظرات مطرح کنید. ما یا سایر هموطنان عزیز پاسخ خواهیم داد. برای کمک به سایت ما و گسترش آموزش در بین هموطنان، در سایتها، وبلاگ ها و شبکه های اجتماعی لینک سایت ما را درج کنید.

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه

دیدگاهتان را بنویسید

1 2 3 4 5

0 نظر درباره «تابع بازگشتی در برنامه نویسی C»

    هنوز نظری برای این بخش ثبت نشده است
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید