Bonjour,
la fonction printf avec le format de conversion %p m'imprime dans certains cas une adresse de 7 chiffres hexadécimaux, alors que c'est un pc de 32 bits (donc normalement 8 chiffres). Quelle peut-être l'explication ?
Merci.
Bonjour,
la fonction printf avec le format de conversion %p m'imprime dans certains cas une adresse de 7 chiffres hexadécimaux, alors que c'est un pc de 32 bits (donc normalement 8 chiffres). Quelle peut-être l'explication ?
Merci.
C'est probablement parce que nombre hexadécimal commence par un 0 et qu'il est omis lors de l'affichage.
Quand on écrit le nombre 123, on n'est pas obligé d'écrire 0123, 000000123 ou 00000000000123 : on va supprimer tous les zéros qui précèdent pour simplifier l'écriture.
En hexadécimal, c'est pareil.
EDIT :
Je viens de tester chez moi. Le %p m'affiche toujours sur 8 chiffres. Cela dépend peut-être de l'implémentation ? Aucune idée.
Merci jeroman, je vais marquer comme résolu, mais je voulais juste ajouter que ce type d'adresse à 7 chiffres apparait pour les variables globales pour moi
Partager