Pointeur ne fonctionnera pas dans printf()

Avoir un problème avec l'impression d'un pointeur en dehors. Chaque fois que j'essaie et compiler le programme ci-dessous, j'obtiens l'erreur suivante:

pointers.c:11: warning: format ‘%p expects type void *’, but argument 2 has type int *’

Je suis évidemment manquant quelque chose de simple ici, mais d'autres examles de code similaire que j'ai vu, cela devrait fonctionner.

Voici le code, toute aide serait super!

#include <stdio.h>

    int main(void)
    {
       int x = 99;
       int *pt1;

       pt1 = &x;

       printf("Value at p1: %d\n", *pt1);
       printf("Address of p1: %p\n", pt1);

       return 0;
    }
  • L'avertissement description semble bien pour moi. Il la jeta à vide avant de l'envoyer à printf. au lieu de pt1, (void*)pt1
  • Essayez d'ajouter une esperluette à pt1 et voir si cela fonctionne.
InformationsquelleAutor Chris | 2011-03-24