programación

Indefinición

Supongamos el siguiente código:

#include 

int main()
{
int a = 1;
printf ("%d %d ", a++, a++);
printf ("%d\n", a);

return 0;
}

¿Cual es la salida impresa por pantalla?

Pues básicamente, depende del compilador: el estándar no define el orden en que se tienen que evaluar los argumentos. Incluso tampoco define el momento en el que el post-incremento o pre-incremento debe efectuarse…

Por ejemplo: el programa compilado con gcc escribirá «2 1 3», pero compilado con tcc escribirá «1 2 3», y en ambos casos, es correcto.

Deja una respuesta

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

Ver más

  • Responsable: David Marín Carreño.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a Digital Ocean que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.