Prediga la salida del siguiente programa:
#include <stdio.h> int main() { printf("%d", 1 << 2 + 3 << 4); return 0; }
(A) 112
(B) 52
(C) 512
(D) 0
Respuesta: (C)
Explicación: La lógica principal detrás del programa es la precedencia y la asociatividad de los operadores. El operador de suma (+) tiene mayor precedencia que el operador de desplazamiento (<<). Entonces, la expresión se reduce a 1 << (2 + 3) << 4 que a su vez se reduce a (1 << 5) << 4 ya que el operador de desplazamiento tiene asociatividad de izquierda a derecha.
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