Назад к вопросам
JuniorТеорияИногда
Что выведет программа?
Count(3);
void Count(int n)
{
if (n > 0)
{
Console.Write(n);
Count(n - 1);
Console.Write(n);
}
}321123
- Ждать
321: строка после рекурсивного вызова тоже выполняется, когда вызов вернётся, поэтому каждыйCountпечатает своюnдважды. - Ждать
321321: самый глубокий вызов завершается первым, поэтому второй раз числа печатаются в обратном порядке:1,2,3.
- Что напечатает программа, если вместо
Count(3)вызватьCount(0)? - Что случится, если убрать условие
n > 0, и может ли программа после этого продолжить работу?