Recursão em C, entenda exemplo de recursão
Estou tendo problemas para entender este exemplo. Eu não consigo descobrir o que realmente acontece depois de um certo ponto.
Aqui está o código, o resultado é suposto ser 4.
Eu posso ver que ela se chama várias vezes, mas como ela realmente chega ao resultado de 4 me escapa completamente. Qualquer ajuda seria muito apreciada.
#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;
}
editar: Muito obrigado, isso esclarece!