CodeShot
Midسختی 2 از ۵· در 20٪ مصاحبه‌های این حوزه پرسیده شده

چرا هر تابع بازگشتی باید یک Base Case داشته باشد؟

نشان کردن

پاسخ کوتاه

بدون شرط پایان، تابع بی‌نهایت خودش را صدا می‌زند و باعث Stack Overflow می‌شود.

پاسخ کامل

Base Case شرطی است که بدون فراخوانی دوبارهٔ تابع، مقدار را برمی‌گرداند و به بازگشت پایان می‌دهد؛ هر مرحلهٔ بازگشتی باید مسئله را به نسخهٔ کوچک‌تری نزدیک به Base Case برساند.

مثال کد

\nfunction factorial(n) { return n <= 1 ? 1 : n * factorial(n - 1); }\n