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 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.

veces compartido
Scroll al inicio
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para fines de afiliación y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad