Affichage d'un pointeur

Youssef.Idelhadj Messages postés 19 Statut Membre -  
Youssef.Idelhadj Messages postés 19 Statut Membre -
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. KX Messages postés 19031 Statut Modérateur 3 020
     
    "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
  2. Youssef.Idelhadj Messages postés 19 Statut Membre
     
    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