Salida del siguiente programa?
#include <stdio.h> int main() { int i = 5; printf("%d %d %d", i++, i++, i++); return 0; }
(A) 7 6 5
(B) 5 6 7
(C) 7 7 7
(D)
Respuesta dependiente del compilador : (D)
Explicación: cuando se pasan parámetros a una función, el valor de cada parámetro se evalúa antes de pasarse a la función.
¿Cuál es el orden de evaluación de los parámetros: de izquierda a derecha o de derecha a izquierda?
Si el orden de evaluación es de izquierda a derecha, la salida debe ser 5 6 7 y si el orden de evaluación es de derecha a izquierda, la salida debe ser 7 6 5. Desafortunadamente, no hay un orden fijo definido por el estándar C. Un compilador puede optar por evaluar de izquierda a derecha.
Entonces, la salida depende del compilador.
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