Es el proceso de definir algo en términos de si mismo, es decir que las funciones pueden llamarse a si mismas, esto se consigue cuando en el cuerpo de la función hay una llamada a la propia función, se dice que es recursiva. Una función recursiva no hace una nueva copia de la función, solo son nuevos los argumentos.
La principal ventaja de las funciones recursivas es que se pueden usar para crear versiones de algoritmos más claras y sencillas. Cuando se escriben funciones recursivas, se debe tener una sentencia if para forzar a la
función a volver sin que se ejecute la llamada recursiva.
#include <stdio.h>
int fact(int numero)
{
int resp;
if(numero==1)
return 1;
resp=fact(numero-1)*numero;
return(resp);
}
int main()
{
int num;
printf("Deme un numero y le dare el factorial: ");
scanf("%d",&num);
printf("%d\n", fact(num));
return 0;
}
No hay comentarios:
Publicar un comentario