¿El break para default se puede obviar sin ningún problema o puede generar alguno?

Walter Omar Barrios Vazquez

Walter Omar Barrios Vazquez

Pregunta
studenthace 4 años

¿El break para default se puede obviar sin ningún problema o puede generar alguno?

5 respuestas
para escribir tu comentario
    Ariel Ezequiel Biazzo Genua

    Ariel Ezequiel Biazzo Genua

    studenthace 3 años

    Un placer querido @walternomas :)

    Walter Omar Barrios Vazquez

    Walter Omar Barrios Vazquez

    studenthace 3 años

    Interesantes opciones ambas, gracias por responder @arielgenua24 & @daniordonez

    Ariel Ezequiel Biazzo Genua

    Ariel Ezequiel Biazzo Genua

    studenthace 3 años

    O... lo que puedes hacer para evitar es break es romper el switch al sobreescribir la variable que lo inicio, ej:

    int opt2 = 1; int main() { printf("Bienvenido: 0 para comidas, 1 para bebidas \n"); switch(opt1) //La expresion debe ser = case, ej expression(1) = case(1) y gracias a esto se ejecuta el case 1. { case 0: printf("Usted eligio la opcion comidas \n"); printf("Escriba 0 si quiera hambuerguesas, 0 si quiere pizzas \n"); switch (opt2){ case 0: printf("Aqui tienes tu hamburguesa \n"); break; case 1: printf("Aqui tienes tu pizza \n"); opt2 = opt2 + 3;

    Fijate como en la ultima parte de mi codigo hago opt2 = opt2 + 3; por que mas 3? Porque se que con un +3 no hay ningun case en el switch que continue con el codigo. Es como un break :)

    Walter Omar Barrios Vazquez

    Walter Omar Barrios Vazquez

    studenthace 4 años

    El default siempre debe ir último no debería haber ningún case después.

    Daniel Adolfo Ordoñez Rubio

    Daniel Adolfo Ordoñez Rubio

    studenthace 4 años

    Hola, Walter :) Si dejas el default al final, break no haría nada; pero considera un escenario como el siguiente (tomado de este hilo en stack overflow)

    switch(num) { case 1: DoSomething(); case 2: DoSomething2(); case 3: case 4: case 5: Console.WriteLine("You have entered {0}", num); break; default: Console.WriteLine("You have not entered a number between 1 and 10"); //break; This part is commented case 6: DoSomething3(); }

    Si no hay un break, el código podría seguir cada paso, incluso después de default y entrar en case 6. Así que podrías considerar "siempre usar break" como una buena práctica, para evitar posible errores en la lógica de tu código.

Curso de Control de Flujo en C

Curso de Control de Flujo en C

Comprende y aplica estructuras de control en C: domina if, switch, bucles while, do while y for. Aprende a manejar flujos con break, continue y goto con ejemplos prácticos, fortaleciendo la lógica y eficiencia en tu código.

Curso de Control de Flujo en C
Curso de Control de Flujo en C

Curso de Control de Flujo en C

Comprende y aplica estructuras de control en C: domina if, switch, bucles while, do while y for. Aprende a manejar flujos con break, continue y goto con ejemplos prácticos, fortaleciendo la lógica y eficiencia en tu código.