Affichage d'un pointeur

Fermé
Youssef.Idelhadj Messages postés 14 Date d'inscription mercredi 21 novembre 2012 Statut Membre Dernière intervention 17 mars 2016 - 9 nov. 2013 à 14:01
Youssef.Idelhadj Messages postés 14 Date d'inscription mercredi 21 novembre 2012 Statut Membre Dernière intervention 17 mars 2016 - 9 nov. 2013 à 15:08
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

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
9 nov. 2013 à 14:12
"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
Youssef.Idelhadj Messages postés 14 Date d'inscription mercredi 21 novembre 2012 Statut Membre Dernière intervention 17 mars 2016
9 nov. 2013 à 15:08
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