amin79
Messages postés13Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention30 mai 2004
-
6 déc. 2003 à 00:59
amin79
Messages postés13Date d'inscriptionjeudi 20 novembre 2003StatutMembreDernière intervention30 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);
}
}
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 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é!).