Constant expression required

Fermé
daniel7 Messages postés 110 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 25 avril 2010 - 7 déc. 2008 à 17:53
daniel7 Messages postés 110 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 25 avril 2010 - 7 déc. 2008 à 18:14
Bonjour,
j ai un problem de compilation on me dit constant expression required

cest au niveau de la ligne int T[n]
int main(int argc, char *argv[])
{
int i,j,n;
int T[n];
printf("donner le nombre d entie a inrtoduire\n",n);
scanf("%d\n",&n);
........
}
?
merci

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
7 déc. 2008 à 18:10
Salut,
Tu définis un tableau int T[n]; alors que la variable n n'est pas défini à ce moment-là.
De plus, après cela dépend si tu es en C norme C89 ou 99. En C89 (et je pense que tu es dans ce cas vu le message), il faudra plutôt que tu utilises l'allocation dynamique (malloc). Commme : int *T; à la place de int T[n]; et après ton scanf, tu alloues T comme ceci : T=malloc(n*sizeof(*T));
N'oublie pas d'inclure stdlib.h.
Cdlt
0
daniel7 Messages postés 110 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 25 avril 2010 8
7 déc. 2008 à 18:14
Merci beaucoup c est teste!!
0