C | Operadores | Pregunta 23

¿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

Deja una respuesta

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