Tema: recursividad
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/02/2016, 14:58
Avatar de xKuZz
xKuZz
 
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 9 años, 11 meses
Puntos: 27
Respuesta: recursividad

Al hacer la llamada recursiva la función NO ha terminado de ejecutarse, lo que ocurre es que una vez llegas al caso que te hace salir de la recursión (a=0) se continúa con la función que te había llamado.

Supón que escribes f(2), entonces lo que ocurre es:
Empieza f(2), escribes 2 en pantalla, se llama f(2-1) = f(1).
Empieza f(1), escribes 1 en pantalla, se llama f(1-1) = f(0)
Empieza f(0), escribes fin, finaliza f(0), por tanto vuelvo a la función que me ha llamado.
Continúo f(1), escribes fin, finaliza f(1), vuelvo a la función que me ha llamado.
Continúo f(2), escribes fin, finaliza f(2), vuelvo a la función que me ha llamado, vuelve al main o a la función que me haya llamado si fuese otra.