AD

¿Ya dominas lo básico? Un curso estructurado de C es la vía rápida para dar el salto.

Ver cursos de C en Udemy

Enlace de afiliado. No te cuesta nada extra.

🔧Lecciones de C
Lección 12 / 68

Funciones recursivas

En esta lección escribirás una función que se llama a sí misma.

Una función recursiva necesita dos cosas: un caso base que la detiene, y una llamada a sí misma con un problema más pequeño. Sin el caso base, la recursión no termina nunca.

El código de ejemplo calcula un factorial: el caso base es cuando el número llega a 1.

Si te falta el caso base, el programa no se cuelga sin más: agota la pila y termina con un stack overflow. Cada llamada consume memoria de pila, y esa memoria es limitada (unos pocos megabytes), así que la recursión profunda tiene un techo mucho más bajo de lo que la gente espera.

Por eso, en C, la recursión se reserva para problemas que son recursivos por naturaleza —recorrer un árbol, analizar una expresión— y para el resto se prefiere un bucle. En otros lenguajes hay optimización de llamada final que lo evita, pero el estándar de C no la garantiza.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)