Реферат Курсовая Конспект
Рекурсивные функции - раздел Информатика, Функции В Языке C Функции Могут Вызывать Сами Себя. Функция Называетс...
|
В языке C функции могут вызывать сами себя. Функция называется рекурсивной, если во время ее работы возникает ее повторный вызов, либо непосредственно, либо косвенно, путем цепочки вызовов других функций.
Прямой рекурсией является вызов функции внутри тела этой функции. Косвенной рекурсией является рекурсия, осуществляющая рекурсивный вызов функции посредством цепочки вызова других функций. Все функции, входящие в цепочку, тоже считаются рекурсивными.
Вызов рекурсивной функции создаёт в стеке новые копии локальных переменных и параметров. Из рекурсивной функции необходимо предусмотреть выход. Компилятор допускает любое число рекурсивных вызовов, однако слишком большое число рекурсивных вызовов может вызвать переполнение стека. Наибольшее число рекурсивных вызовов связано с объёмом в байтах передаваемых функции фактических параметров. Теоретически чем меньше объём передаваемых параметров, тем большее число рекурсивных вызовов, не приводящих к переполнению стека, возможно.
Пример 11
int factorial(int n)
{
if(n==1)
return 1;
return factorial(n-1)*n;
}
void main(void)
{
printf("%d",factorial(8));
}
На экране будет напечатано: 40320
– Конец работы –
Эта тема принадлежит разделу:
Функции Функция это совокупность объявлений и операторов предназначенных для выполнения отдельной...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Рекурсивные функции
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов