Праздный интерес про компиляцию, когда метод вызывает сам себя - C#

Узнай цену своей работы

Формулировка задачи:

После компиляции кода с рекурсией, исполняемый код метода(который вызывает сам себя) в памяти: 1)копируется n-раз линейно, а потом в каждом методе правиться адрес передачи результата в следующую копию. По цепочке ? 2)копируется n-раз матрешкой. Т.е. первый кусок сидит внутри второго куска когда, который сидит в 3-м куске когда ? 3)Не копируется. Создается n-раз отдельные участки памяти для return'ов каждой итерации рекурсии ? 4)Компилятор очень умный. Он транслирует рекурсию в цикл (циклы. Систему циклов любой иерархии) ? 5)Если количество вывозов заранее не известно,и зависит от входных условий, то как компилятор посчитает размер памяти для стека ? Просто уже кушать не могу, как интересно.

Решение задачи: «Праздный интерес про компиляцию, когда метод вызывает сам себя»

textual
Листинг программы
int Factorial(int n)
{
   if (n <= 1) return 1;
   return n * Factorial(n - 1);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы