Affichage ds elment d un tableau en C

Fermé
daniel7 Messages postés 110 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 25 avril 2010 - 8 déc. 2008 à 23:02
daniel7 Messages postés 110 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 25 avril 2010 - 9 déc. 2008 à 15:49
bjr le programme suivant ne m affiche pas les element du tableau
[i]#include <stdio.h>
#include <stdlib.h>
void main()
{
int n;
int * t;
int i;
do
{
printf("donner n\n");
scanf("%d\n",&n);
}
while ( n<=0 );
t=(int*)malloc(n*sizeof(int));
for (i=0;i<n ;i++ )
{
printf("donner T[%d]\n",i);
scanf("%d\n",&t[i]);
}
printf("^$$$$$$$$$$$$$$$$$$$$ affichage $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$_\n");
for (i=0;i<n ;i++ )
{
printf("voila le T[%d]=%d\n",i,t);
}
}
A voir également:

7 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
8 déc. 2008 à 23:11
normal t'as oublié le i
printf("voila le T[%d]=%d\n",i,t[i]);
0
daniel7 Messages postés 110 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 25 avril 2010 8
8 déc. 2008 à 23:53
Normalemnt ca n est pa la vre cause bon en faite le message ^$$$$$$$$$$$$$$ affichage $$$$$$$$$$$$$$$$$$$$$$$ n est pa affiche et aussi les messages voila le T[%d]=%d\n
merci
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
9 déc. 2008 à 01:09
retire les \n dans tes scanf ça devrait marcher
scanf("%d",&n);
et
scanf("%d",&t[i]);
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
9 déc. 2008 à 02:03
Salut,
Comme mype l'a dit, tu as oublié le i. t[i].
De plus, enlève le '\n' de tes scanf.
N'oublie pas non plus de tester le retour du malloc qui peut échouer. (if (t==NULL) exit(EXIT_FAILURE);)
Et petite remarque, le prototype de main est un int. Donc int main(void).
Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
daniel7 Messages postés 110 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 25 avril 2010 8
9 déc. 2008 à 13:23
STP Fiddy g ai pa bien compris le cas si maolloc a echoue.!!comment faire ce teste?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
9 déc. 2008 à 13:37
Oui malloc peut très bien te retourner NULL si l'allocation échoue. Et dans ce cas, si tu continues ton programme tu vas accéder à tes cases non allouées, ce qui va te valoir un joli segfault.
Je t'ai donné le code dans mon poste précédent ;)
Je le remets.
t=malloc(n*sizeof(int));
if (t==NULL) exit(EXIT_FAILURE);
//Là tu peux continuer ton code, l'allocation s'est bien déroulée.
0
daniel7 Messages postés 110 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 25 avril 2010 8
9 déc. 2008 à 15:49
ok merci c un bon astuce!!!!
merci ts lemonde
0