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 un comentario

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

Información básica sobre protección de datos

  • Responsable David Marín Carreño.
  • Finalidad Moderar los comentarios.
  • Legitimación Tu consentimiento.
  • Destinatarios Digital Ocean.
  • Derechos Acceder, rectificar y suprimir los datos.
  • Información Adicional Puede consultar la información detallada en https://davefx.com/es/aviso-legal/.

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