Rekurencja w C, zrozum przykład rekursji
Mam problem ze zrozumieniem tego przykładu. Nie mogę zrozumieć, co właściwie dzieje się po pewnym momencie.
Oto kod, wynik ma być 4.
Widzę, że wywołuje się kilka razy, ale to, jak faktycznie dochodzi do wyniku 4, całkowicie mnie wymyka. Każda pomoc byłaby bardzo mile widziana.
#include <stdio.h>
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;
}
edytować: Wielkie dzięki, to oczyszcza!