Constant expression required

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
Configuration: Windows XP
Firefox 3.0.4

2 réponses

  1. Contributeur
    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
    1. Merci beaucoup c est teste!!
      0