Todavía no sé nada sobre la recursividad en C. ¿Puedes ayudarme a analizar la ejecución de este código con el mayor detalle posible?
El proceso de ejecución de este código
La función principal main llama a fun5(4)
Ingrese fun5(4) n==4, s=4 fun5 ( 3)
Ingrese fun5(3) n==3, s=3 fun5(2)
Ingrese fun5(2) n==2, s==2, imprima 2 , 2--------s
Devuelve fun5(3) n==3, s=3 fun5(2)=3 2=5, imprime 3, 5---- - ---s
Devuelve fun5(4) n==4, s=4 fun5(3)=4 5=9, imprime 4, 9--------s p >
Regresar a la función principal, imprimir 9
El programa completo en C es el siguiente
#include lt; fun5(int n) { long s; if((n==1)||(n==2)) s=2; else s=n fun5(n-1); ); printf(" d--------s\n", s); retorno(s);
}
main(){ largo x; =divertido5(4) ; printf("ld",x);