Cadenas en C: ejercicio resuelto
Si buscas cadenas en C ejercicios resueltos, este ejemplo cubre las operaciones más pedidas con string.h.
Enunciado
Compara dos cadenas, copia una de ellas y muestra su longitud.
Solución en C
#include <stdio.h>
#include <string.h>
int main(void) {
char a[32] = "hola";
char b[32] = "hola";
char copia[32];
int cmp = strcmp(a, b);
strcpy(copia, a);
printf("cmp=%d\n", cmp);
printf("copia=%s\n", copia);
printf("len=%zu\n", strlen(copia));
return 0;
}Salida esperada
cmp=0
copia=hola
len=4Caso borde recomendado
Prueba con cadenas en el límite del buffer para verificar \0:
a = "1234567890123456789012345678901" // 31 charsSi no dejas espacio para el terminador, tendrás desbordamiento.
Errores frecuentes
- No reservar espacio para
\0. - Usar
strcpysin validar tamanos. - Comparar cadenas con
==en vez destrcmp. - Olvidar limpiar
\nal leer confgetsy fallar comparaciones.
Complejidad temporal y espacial
strlen,strcpy,strcmp: O(n) sobre la longitud de la cadena.- Espacio extra: O(1) (sin contar buffers de entrada/salida).
Aplicación práctica
La manipulacion de cadenas es clave para parsear logs, comandos y datos de entrada.
Siguiente ejercicio recomendado
- Matrices en C: ejercicio resuelto de diagonal principal y secundaria
- Ficheros en C: ejercicio resuelto para contar lineas y caracteres
- Ordenacion burbuja en C: ejercicio resuelto paso a paso
- Todos los ejercicios de C
Práctica guiada y siguiente paso
Si quieres una ruta completa con progresión real de dificultad:
FAQ
¿Este ejercicio sirve para entrevistas y exámenes de C?
Sí. Trabaja patrones que aparecen mucho en prácticas, entrevistas técnicas y evaluaciones de programación en C.
¿Dónde seguir con más ejercicios resueltos de C?
En Programación en C en 100 ejercicios resueltos y en Ejercicios C. Kindle Unlimited: Ver en Amazon.
¿Cómo practicar este tipo de ejercicio para mejorar más rápido?
Empieza con entradas pequeñas, prueba casos límite (vacío, un elemento y capacidad máxima) y luego reescribe la solución sin copiarla.