Jurijus Zaksas
Искусственный Интеллект
(445813)
37 минут назад
>Что такое Foo(array, k + 1)
Это просто вызов функции.
>что за значение там хранится?
Функции не хранят значения, они отображают область аргументов на область значений.
>Откуда в нём 0, 7, 10?
Такова область значений данной функции при заданных аргументах. Задай другие аргументы - получишь дугие значения.
static int Foo(int[] array, int k = 0)
{
if (k >= array.Length)
return 0;
int result = Foo(array, k + 1);
Console.WriteLine(result);
return array[k] + result;
}
static void Main()
{
int[] array = { 1, 3, 7 };
Console.WriteLine(Foo(array));
}