Quel sera le comportement et la sortie du code suivant si je le code produit par inadvertance en C/C++,quel sera le comportement de l'extrait de code suivant?
float a = 12.5;
printf("%d\n", a);
printf("%d\n", *(int *)&a);
Quel sera le comportement et la sortie du code suivant si je le code produit par inadvertance en C/C++,quel sera le comportement de l'extrait de code suivant?
float a = 12.5;
printf("%d\n", a);
printf("%d\n", *(int *)&a);
Rubish et plus rubish.
Vous obtiendrez quelque chose de significatif si vous avez les éléments suivants si
printf("%d\n", (int)a);
+1 pour l'humour involontaire. :-) –
@Paul R: Comment avez-vous su que c'était involontaire? Ne dis pas que ça ne te dérange pas. – torak
@torak: excuses si c'était intentionnel - je pensais que c'était probablement juste une faute de frappe qui s'est avérée être assez drôle et pertinent. :-) –
sa non définie, car ANSI ne définit pas une relation entre sizeof (int) et sizeof (float).
Deux mots: comportement indéterminé –
Le point de curiosité est de l'essayer * intentionnellement * et voir ce qui se passe :) –
@Nikolai: mais essayez-le sur plus d'une plate-forme (de préférence avec différents endianness ou différents sizeof (int)) –