Mostrar valores booleanos con operador ternario en C

Objetivo

Aprender a imprimir el valor de una variable booleana usando el operador ternario y printf.

Sintaxis base

printf(«El valor de variableBoleana es: %s\n», variableBoleana ? «verdadero» : «falso»);

  • %s → imprime una cadena (char *)
  • variableBoleana ? "verdadero" : "falso" → devuelve "verdadero" si variableBoleana es distinto de cero, "falso" si es cero

🎨 Ejemplos con colores (simulados)

  • // Ejemplo 1: variableBoleana verdadera
  • int variableBoleana = 1;
  • printf(«Estado: \x1b[32m%s\x1b[0m\n», variableBoleana ? «verdadero» :falso»); // Salida: Estado: verdadero (en verde)
  • // Ejemplo 2: variableBoleana falsa
  • int variableBoleana = 0;
  • printf(«Estado: \x1b[31m%s\x1b[0m\n», variableBoleana ? «verdadero» : «falso»); // Salida: Estado: falso (en rojo)

🖍️ \x1b[32m y \x1b[31m son codigos ANSI para texto verde y rojo. \x1b[0m reinicia el color.

📦 Tabla de ejemplos

variableBoleana
1 Verdadero Verde
0 Falso Rojo
-5 verdadero verde
42 verdadero verde

⚠️ Errores comunes

  • ❌ Usar %d en lugar de %s → imprime numeros, no cadenas
  • ❌ Olvidar el \n → no se hace salto de linea
  • ❌ No inicializar variableBoleana → comportamiento indefinido

🧠 Mini practica

Completa el siguiente fragmento para imprimir «verdadero» si estado es distinto de cero:

int estado = 7; printf(«Resultado: %s\n», ___________________________);

✅ Solucion:

estado ? «verdadero» : «falso»