¿Cuál es el orden de evaluación de los parámetros de función en C?

Depende del compilador en C. Nunca es seguro depender del orden de evaluación de los efectos secundarios. Por ejemplo, una llamada de función como la siguiente puede comportarse de manera diferente de un compilador a otro:

void func (int, int);
    
int i = 2;
func (i++, i++);

No hay garantía (ya sea en las definiciones de lenguaje estándar C o C++) de que los incrementos se evaluarán en un orden particular. Cualquiera de los incrementos podría ocurrir primero. func podría obtener los argumentos ‘2, 3’, o podría obtener ‘3, 2’, o incluso ‘2, 2’.

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 *