Jesús Ignacio García Fernández
Estas comentado en el video en el minuto 3:33 que "si tiene tres if anidados" puedes salir con break, pero el if no tiene break, supongo que te refieres a switch.
Sebastián Pineda Ospina
Javier
Domina la instrucción break en C para controlar el flujo de ejecución con precisión. Aprende cuándo cortar un switch a tiempo, cómo se diferencia de los ciclos while y do while, y qué precauciones tomar para no caer en un bucle infinito.
¿Qué es break en C y por qué importa?
La instrucción break permite salir antes de terminar un bloque de control. A diferencia de while y do while, que evalúan su expresión al inicio o al final, break interrumpe la ejecución en el momento exacto en que se encuentra.
¿Cómo funciona break en un switch?
En un menú con switch, cada case debe terminar con break para evitar que el programa siga ejecutando los casos siguientes hasta llegar al default. Así, tras imprimir “Usted eligió…” en el caso 0, el break corta el bloque y no se ejecutan los demás casos.
// Ejemplo simplificado basado en la explicación int opcion = 0; // variable ya definida para elegir automáticamente switch (opcion) { case 0: printf("Usted eligio una bebida cola cero.\n"); break; // sale del switch case 1: printf("Usted eligio otra bebida.\n"); break; case 2: printf("Usted eligio un postre.\n"); break; default: printf("Opcion no valida.\n"); break; // no continuar más casos } return 0; // continuar despues del switch
¿Qué pasa si no pones break en switch?
¿Cuándo usar break para evitar bucles infinitos?
Cuando necesites salir antes de un ciclo o de una estructura de control, usa break. Incluso si tienes tres if anidados y requieres volver un nivel atrás, la instrucción mencionada es la herramienta para cortar la ejecución en el punto preciso que te conviene. Eso sí, asegúrate de que el flujo realmente alcance esa línea.
¿Qué significa salir un nivel atrás?
¿Tienes otro patrón con switch, while o if donde el flujo se complica? Cuéntalo y revisamos juntos cómo aplicar break de forma segura.
Jesús Ignacio García Fernández
Estas comentado en el video en el minuto 3:33 que "si tiene tres if anidados" puedes salir con break, pero el if no tiene break, supongo que te refieres a switch.
Sebastián Pineda Ospina
Javier
Programa que calcula los primeros 100.000 primos (combina un for para recorrer los números y un do while para encontrar el primer divisor y descartar que es primo. (pero ahora usando break en el do while)
#include <stdlib.h> int main(void) { int totalPrimosEcontrados; int total = 100000; int numeroEstudiar; int divisor; totalPrimosEcontrados = 0; for (numeroEstudiar = 1; numeroEstudiar <= total; numeroEstudiar++) { divisor = 0; do { divisor++; if(divisor > 1 && divisor < numeroEstudiar) if (numeroEstudiar % divisor == 0) break; } while (divisor < numeroEstudiar); if (divisor == numeroEstudiar) { totalPrimosEcontrados++; printf("[%d] Encontrado número primo\n", numeroEstudiar); } // else // printf("[%d] no es primo\n", numeroEstudiar); } printf("Total primos encontrados del 1 al %d, = %d\n", total, totalPrimosEcontrados); return (0); }
Salida
Victor Axel Moran Andrade
Un ejemplo de cómo funciona el "break" en un ciclo for. El ciclo for tendría que imprimir el valor de i del 1 al 10 pero cuando i vale 5 se cumple la condición y se ejecuta el break, por lo que se sale del ciclo. Espero haberme explicado bien. :D
#include<stdio.h> int main(){ int i; for(i=1; i<=10; i++){ printf("\n valor de i es: %d", i); if(i==5) break; } return 0; }
Jean Nuñez
con el break podemos detener el flujo de datos si se cumple en la sentencia while
David Lara
Soy solo yo o ese gato en el fondo me ha distraído desde el comienzo del curso? :-P
Juan Francisco
En un bloque switch, break es fundamental para evitar el "fall-through", asegurando que solo el código del case seleccionado se ejecute. Sin él, el programa continuaría ejecutando los case subsiguientes, llevando a resultados inesperados. Así, break garantiza que el control del flujo salga del switch inmediatamente.
Gabriel Obregón
📌break en C
🔹 ¿Qué es break?
👉 Instrucción que detiene la ejecución de un bloque de código.
👉 Da control extra al flujo del programa.
📍 Se usa en:
🔹 break en switch
🛑 Sirve para cortar la ejecución del caso actual. ➡️ Sin break: el programa sigue ejecutando los demás casos hasta el default.
🧩 Ejemplo:
switch (opcion) {
case 0: printf("Platzi cola 0\n"); break;
case 1: printf("Platzi cola normal\n"); break;
case 2: printf("Platzi piña colada\n"); break;
default: printf("Opción no válida\n");
}
🔹 break en ciclos
💡 Útil cuando quieres salir antes de tiempo de un bucle.
🧩 Ejemplo con while:
while (condicion) {
if (condicion_especial) {
break; // Sale del ciclo
}
}
Ricardo Soler
break;
Interrumpe el bloque de código en curso y sale de él (al nivel superior si es código anidado)
Horacio Arias Hernández
La instrucción break en C se utiliza para interrumpir la ejecución normal de un bucle. En otras palabras, la instrucción break finaliza la ejecución de un bucle y el control del programa se transfiere a la primera instrucción después del bucle.
Es importante notar que normalmete, cuando en un bulce se utiliza una instrucción break, la ejecución de ésta se condiciona.
Jorge Varas
Gimme a break
Fernando Sánchez Mejía
Existen situaciónes donde es necesario salir del bucle antes.
La instrucción break rompe los ciclos en los que se encuentre, saliendos un nivel atras.
Jose Montoya
Aunque el ciclo va de 0 a 10, solo se imprimen los numeros hasta el 4, ya que al llegar a 5 se “rompe” el ciclo.
#include <stdio.h> int main() { for (int i = 0; i <= 10; i++) { if (i == 5) { break; // Cuando i es igual a 5 se termina el ciclo } printf("\n i = %d", i); } }
neifer goodson
exelente clase.
Juan Andrés Cabrera Mendoza
muy buena clase, muy concisa
Tienes razón Jesús, el break "no tiene efecto" en los if's, por lo que por ejemplo si ponemos un break dentro de un if, se saldrá del loop en el que está anidado el if más no del if. Muestr ejemplo para que quede más claro (lo tome de acá):
#include <stdio.h> int main() { int num =0; while(num<=100) { printf("value of variable num is: %d\n", num); if (num==2) { break; } num++; } printf("Out of while-loop"); return 0; }
Nos da una salida de terminal:
value of variable num is: 0 value of variable num is: 1 value of variable num is: 2 Out of while-loop```
Hol @Jesus Ignacio, se puede utilizar todo depende de la logica que estes implementando, mira debajo un ejemplo.
int numero; // Aquí alojaremos el valor leido int letra; // Aqui alojaremos la letra for (i=0;i<10;i++){ printf("Dime un número:\n"); scanf("%d", &numero); // almacena el valor leido en numero prinf("dime si continuo preguntando...Y , N"); scanf("%s", &letra); // almacena la letra leida if (letra == "N") break }```