Affichage---pointeur

Signaler
Messages postés
13
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
30 mai 2004
-
Messages postés
13
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
30 mai 2004
-
J'ai ce code et je n'arrive pas à afficher le contenu de a[10]. Comment faire.
#include<stdio.h>
/*
a[i] est un tableau dont tous ses éléments sont initialisés à 105.
Comment faire pour pouvoir afficher ces 10 éléments à l'écran (en utilisant les pointeurs) ??
le programme est équivalent a celui ci :

void main()
{
int a[10];
int i=0;
while (i++<10)
{
a[i]=105;
printf("la position %d est %d\n",i,a[i]);
}
}
*/

void main()
{
int a[10];
int i=0, *p=a;
while (i++<10)
{
*p++=105;
printf("la position %d est %d\n",i,&p);
}
}

2 réponses

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
printf("la position %d est %d\n",i,&p);
En dernier param tu passes &p, soit l'adresse du pointeur p, donc ca n'a rien avoir avec ce que tu veux.

Pour afficher l'element du tableau qui est pointé par p, il faut faire:
printf("la position %d est %d\n", i, *(p-1));

*p pour afficher l'elément qui est pointé par p
*(p-1) pour afficher l'élément juste avant celui qui est pointé par p (et oui, car juste avant le printf tu fais *p++ = 105; et donc p a été incrementé!).
Messages postés
13
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
30 mai 2004

Merci c très gentil de ta part !!!!!!!