¿Cuál será la salida del siguiente código C?
#include <stdio.h> int main() { int i=2, j=2; while (i+1 ? --i : j++) printf("%d",i); return 0; }
(A) 1
(B) 2
(C) 3
(D) 4
Respuesta: (A)
Explicación: Considere la condición del ciclo while => i + 1 ? –yo: j++
En la primera iteración:
i + 1 = 3 (verdadero)
Entonces, el operador ternario devolverá –i, es decir, 1, la parte de la condición es 1 significa verdadero, mientras que la condición es verdadera.
Por lo tanto, la declaración printf imprimirá 1
En la segunda iteración:
i + 1 = 2 (verdadero)
Entonces, el operador ternario devolverá –i, es decir, 0, la parte de la condición es 0 significa falso, mientras que la condición es falsa.
Por lo tanto, el control del programa saldrá del bucle while.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA