Menu
Coddy logo textTech

Operador condicional ternario

Parte de la sección Fundamentals del Journey de C de Coddy — lección 29 de 63.

El operador condicional ternario es una forma abreviada de expresar una sentencia if-else en una sola línea.

La sintaxis es:

condition ? value_if_true : value_if_false;

Veamos un ejemplo. Primero, aquí hay una sentencia if-else tradicional:

int max;
if (a > b) {
    max = a;
} else {
    max = b;
}

Ahora, reescribámoslo usando el operador ternario:

int max = (a > b) ? a : b;

En este ejemplo:

  • a > b es la condición
  • Si la condición es verdadera, se devuelve a
  • Si la condición es falsa, se devuelve b

El operador ternario también se puede anidar, pero esto puede hacer que el código sea más difícil de leer:

int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
challenge icon

Desafío

Fácil

Crea un programa que verifique si un número es positive, negative o zero utilizando el operador condicional. El programa debe:

  1. Solicitar una entrada entera al usuario.
  2. Utilizar el operador condicional para determinar si el número es positive, negative o zero.
  3. Imprimir el resultado en el formato: "The number is [positive/negative/zero]".

Hoja de referencia

El operador condicional ternario proporciona una forma abreviada de expresar una sentencia if-else en una sola línea.

Sintaxis:

condition ? value_if_true : value_if_false;

Ejemplo comparando el if-else tradicional con el operador ternario:

// if-else tradicional
int max;
if (a > b) {
    max = a;
} else {
    max = b;
}

// Operador ternario
int max = (a > b) ? a : b;

El operador ternario se puede anidar, aunque esto reduce la legibilidad:

int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);

Pruébalo tú mismo

#include <stdio.h>

int main() {
    int number;
    scanf("%d", &number);
    
    // Escribe tu código debajo
    char* result = 
    
    printf("The number is %s\n", result);
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals