PUERTA | PUERTA 2017 MOCK II | Pregunta 13

¿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.

Cuestionario de esta pregunta

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *