format cout de pointeur

Je veux les convertir en code c, c++ code . Il est sur le pointeur printf

int n = 44;
//printf("n   = %d \t &n = %x\n", n, &n);
cout<<"n ="<<n<< "\t" <<"&n ="<<hex<<int(&n)<<endl;

Quand je lance le printf de sortie est comme ça:

   n=44   &n=22ff1c

Mais quand je lance le cout de sortie est comme ça:

   n=44 &n=22ff0c

Pourquoi les deux versions de la sortie des valeurs différentes pour l'adresse de n?

Le nombre hexadécimal est l'adresse mémoire de la variable. Il peut avoir des valeurs différentes à chaque fois que vous exécutez le programme.
Chaque fois que je lance le printf, il me donne la même réponse ( &n=22ff1c). De la même manière cout du programme donne le même résultat ( &n=22ff0c)
Re votre edit: 2C est hex pour 44.
comment puis-je convertir 2c 44 ?
Je veux imprimer n=44 *pn=44

OriginalL'auteur cadyT | 2012-04-01