PartesLas funciones recursivas se componen de 2 partes:
Parte I
Llamada Recursiva: la llamada de la funcion asi misma
Parte II Condicion de Corte: es la condicion de corte de las llamadas recursivas
Partes Opcionales Wrapper (OPCIONAL): podemos usar un wrapper que tenga la cantidad de parametros
ObservacionesEjemplosEjemplo 1 - Sin usar Wrapper:
#include <unistd.h>
void print_recursiva(const char *s)
{
// Condicion de corte
if (*s == '\\0')
return ;
else
write(1, s, 1);
print_recursiva(s + 1);
}
Ejemplo 2 - Usando wrapper:
#include <unistd.h>
void wrapped_print(char *s, unsigned int i)
{
// Condicion de corte
if (s[i] == '\\0')
return ;
else
write(1, &s[i], 1);
print_recursiva(s, i + 1);
}
void print_recursiva(char *s)
{
wrapped_print(s, 0);
}