1. Partes

Las 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

  1. Observaciones
  1. Ejemplos
Ejemplo 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);
}