¿Predecir la salida del siguiente programa?
# include <stdio.h> int main() { int x = 10; int y = 20; x += y += 10; printf (" %d %d", x, y); return 0; }
(A) 40 20
(B) 40 30
(C) 30 30
(D) 30 40
Respuesta: (B)
Explicación: El enunciado principal en cuestión es “x += y += 10”. Dado que hay dos operadores += en la declaración, la asociatividad entra en escena. La asociatividad de los operadores de asignación compuestos es de derecha a izquierda, por lo que la expresión se evalúa como x += (y += 10).
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