Funciones en C: ejercicios resueltos paso a paso
Funciones en C: ejercicios resueltos paso a paso
Si buscas ejercicios de funciones en C resueltos, aquí tienes los patrones que aparecen en cualquier examen de introducción a C.
El objetivo es dominar cuatro situaciones clave: funciones sin retorno, funciones que devuelven un valor, paso por valor y paso por referencia mediante punteros.
Enunciado
Resuelve estos 4 mini ejercicios con funciones:
- imprimir un saludo (función
voidsin parámetros), - calcular el cuadrado de un número (función con retorno),
- intercambiar dos enteros (paso por referencia con punteros),
- calcular el factorial de
nde forma iterativa.
Solución en C
Resultado esperado
Errores frecuentes
- Olvidar declarar el prototipo de la función antes de
maincuando se define después. - Confundir paso por valor con paso por referencia: modificar el parámetro local no afecta a la variable original.
- No poner
returnen funciones que no sonvoid. - Usar
voidcomo tipo de retorno cuando la función sí devuelve algo.
Aplicación práctica
Las funciones son la base de cualquier programa C real:
- separan la lógica en bloques reutilizables,
- permiten pasar datos por referencia para modificar variables del llamador,
- facilitan las pruebas unitarias y el mantenimiento.
Dominar el paso por referencia con punteros es imprescindible para trabajar después con arrays y estructuras de datos.
Siguiente ejercicio recomendado
- Switch case en C: ejercicio resuelto
- Punteros en C: ejercicios resueltos
- Recursividad en C: ejercicio resuelto
- Todos los ejercicios de C
Práctica guiada y siguiente paso
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿Cuándo usar void como tipo de retorno?
Cuando la función no necesita devolver ningún valor al llamador: imprime, modifica variables por referencia o realiza una acción sin resultado.
¿Qué diferencia hay entre paso por valor y paso por referencia?
En paso por valor se copia el dato; la función trabaja con la copia y el original no cambia. En paso por referencia se pasa la dirección de memoria (&variable) y la función puede modificar el original a través del puntero.
¿Se puede devolver más de un valor desde una función en C?
No directamente. La solución habitual es devolver uno por return y los demás por referencia (punteros), o agruparlos en un struct.