Рекурсия в C, понять пример рекурсии
У меня проблемы с пониманием этого примера. Я не могу понять, что на самом деле происходит после определенного момента.
Вот код, результат должен быть 4.
Я могу видеть, что он вызывает себя несколько раз, но как это на самом деле приводит к результату 4, полностью ускользает от меня. Любая помощь будет принята с благодарностью.
#include
int recursion(int i)
{
return (i>1 ? i - recursion(i/2) : 3);
}
int main()
{
int number = 9;
printf("The result is %d\n", recursion(number));
return 0;
}
редактировать: Большое спасибо, это проясняет!