Affichage d'un pointeur

Bonjour,

J'ai du mal à afficher un pointeur en int, mon programme est :

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
int age=10;
printf(" Age : %d",age);
printf(" Age : %d",&age);
return 0;
}

et qu'on je compile sur gcc, il me sort comme erreur :

test.c: In function `main':
test.c:8:3: attention : format `%d' expects argument of type `int', but argument 2 has type `int *' [-Wformat]

En fait, ça marche qu'on je mets %p, vu que c'est un affichage en héxadécimal, mais moi je veux un affichage en entier.

Merci d'avance

2 réponses

  1. Modérateur
    "attention" est-ce vraiment une erreur ou juste un avertissement ?
    Je pense que c'est une subtilité du compilateur, ça devrait fonctionner...

    Essaye en forçant ta valeur en entier :
    (int) &age
    0
    1. En fait, vous avez raison, c'est juste un avertissement, vu que quand je compile je mets :

      gcc -Wall -o test test.c

      mais votre solution, elle donne toujours le même erreur, mais merci quand même. ça a compilé ;)
      0