Affichage---pointeur

amin79 Messages postés 13 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 30 mai 2004 - 6 déc. 2003 à 00:59
amin79 Messages postés 13 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 30 mai 2004 - 6 déc. 2003 à 14:48
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

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
6 déc. 2003 à 02:14
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é!).
0
amin79 Messages postés 13 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 30 mai 2004
6 déc. 2003 à 14:48
Merci c très gentil de ta part !!!!!!!
0
Rejoignez-nous