if statement
Ejecuta código condicionalmente.
Se utiliza cuando el código necesita ejecutarse solo si alguna condición es verdadera.
Contenidos |
Sintaxis
attr-spec-seq
(opcional)
if (
expression
)
statement-true
|
(1) | ||||||||
attr-spec-seq
(opcional)
if (
expression
)
statement-true
else
statement-false
|
(2) | ||||||||
| attr-spec-seq | - | (C23) una lista opcional de atributos , aplicada a la sentencia if |
| expression | - | una expresión de cualquier tipo escalar |
| statement-true | - | cualquier sentencia (frecuentemente una sentencia compuesta), que se ejecuta si expression se compara como diferente de 0 |
| statement-false | - | cualquier sentencia (frecuentemente una sentencia compuesta), que se ejecuta si expression se compara como igual a 0 |
Explicación
expression debe ser una expresión de cualquier tipo escalar .
Si expression se compara como diferente del entero cero, statement-true se ejecuta.
En la forma (2) , si la expresión es igual a cero entero, se ejecuta la sentencia-falsa .
|
Al igual que todas las demás sentencias de selección e iteración, la sentencia if completa tiene su propio ámbito de bloque: enum {a, b}; int different(void) { if (sizeof(enum {b, a}) != sizeof(int)) return a; // a == 1 return b; // b == 0 in C89, b == 1 in C99 } |
(desde C99) |
Notas
El else siempre se asocia con el if precedente más cercano (en otras palabras, si statement-true también es una sentencia if , entonces esa sentencia if interna debe contener también una parte else ):
Si statement-true se ingresa a través de un goto , statement-false no se ejecuta.
Palabras clave
Ejemplo
Salida:
i > 2 is false i == 3 i != 3 is false
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 6.8.5.2 La sentencia if (p: 154)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 6.8.4.1 La sentencia if (p: 108-109)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 6.8.4.1 La sentencia if (p: 148-149)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 6.8.4.1 La sentencia if (p: 133-134)
- Estándar C89/C90 (ISO/IEC 9899:1990):
-
- 3.6.4.1 La sentencia if
Véase también
|
Documentación de C++
para
if
statement
|