break statement
Provoca que el for , while o do-while circundante o la switch statement terminen.
Se utiliza cuando resulta incómodo terminar el bucle utilizando la expresión de condición y las sentencias condicionales.
Contenidos |
Sintaxis
attr-spec-seq
(opcional)
break
;
|
|||||||||
| attr-spec-seq | - |
(C23)
lista opcional de
atributos
, aplicados a la sentencia
break
|
Solo aparece dentro de la
sentencia
del cuerpo de un bucle (
while
,
do-while
,
for
) o dentro de la
sentencia
de un
switch
.
Explicación
Después de esta declaración, el control se transfiere a la declaración o definición inmediatamente posterior al bucle o switch envolvente, como si fuera mediante
goto
.
Palabras clave
Notas
Una sentencia break no puede utilizarse para salir de múltiples bucles anidados. La
goto
statement
puede utilizarse para este propósito.
Ejemplo
#include <stdio.h> int main(void) { int i = 2; switch (i) { case 1: printf("1"); case 2: printf("2"); // i==2, por lo que la ejecución comienza en esta etiqueta case case 3: printf("3"); case 4: case 5: printf("45"); break; // se termina la ejecución de los casos subsiguientes case 6: printf("6"); } printf("\n"); // Comparar las salidas de estos dos bucles for anidados. for (int j = 0; j < 2; j++) for (int k = 0; k < 5; k++) printf("%d%d ", j,k); printf("\n"); for (int j = 0; j < 2; j++) { for (int k = 0; k < 5; k++) // solo este bucle es interrumpido por break { if (k == 2) break; printf("%d%d ", j,k); } } }
Salida posible:
2345 00 01 02 03 04 10 11 12 13 14 00 01 10 11
Referencias
- Estándar C17 (ISO/IEC 9899:2018):
-
- 6.8.6.3 La sentencia break (p: 111)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 6.8.6.3 La sentencia break (p: 153)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 6.8.6.3 La sentencia break (p: 138)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 3.6.6.3 La sentencia break
Véase también
[[
fallthrough
]]
(C23)
|
indica que la caída desde la etiqueta case anterior es intencional y no debe ser diagnosticada por un compilador que advierte sobre caídas
(especificador de atributo) |
|
Documentación de C++
para
break
statement
|
|