Les Allergies
Alimentaires
Posez votre question Signaler

Erreur prog tableau en C [Résolu]

Joli Jumpeur - Dernière réponse le 15 janv. 2011 à 16:12
Bonjour,
j'ai fait un programme, censé demander à l'utilisateur d'entrer la valeur de chaque "case" d'un tableau, puis afficher les valeurs sous la forme tab[0] | tab[1] | ... | tab[n].
Le voilà :
void afftab()  
{  
    int size;  
    printf("Choisissez la taille du tableau :");  
    scanf("%d",size);  
    int tab[size];  
    int i;  
    for (i=0;i<size;i++)  
        {  
            printf("Entrez la %d e valeur : ",i); 
            scanf("%d",&tab[i]); 
        }  
    printf("%d",tab[0]);  
    for (i=1;i<(size-1);i++)  
        {  
            printf(" %d |", tab[i]);  
        }  
    printf("%d",tab[(size-1)]);  
}

mais celui-ci ne fonctionne pas. La console m'affiche "Choisissez la taille du tableau : " puis je peux entrer la valeur, et il plante... L'exécutable s'arrête de fonctionner...
Vous auriez une idée de pourquoi??
merci à vous !
Lire la suite 

Erreur prog tableau en C »

2 réponses
Réponse
+0
moins plus
scanf("%d",size);
Il faut mettre l'adresse de size => scanf("%d",&size).

int tab[size];
C'est correct avec la nouvelle norme, mais pas sûr que ton compilateur accepte cette norme. En plus des fois, il faut l'activer. Donc ça complique.
Je te conseille d'utiliser la façon classique avec int *tab;
Puis après scanf, tab=malloc(size*sizeof(int));

Et tout à la fin de ta fonction, free(tab), tab=NULL;

Cdlt,
Ajouter un commentaire
Réponse
+0
moins plus
Ah oui, c'était tout simplement le scanf !! Et pourtant, l'IDE que j'utilise (Code::Blocks) ne m'en a pas informé ...
maintenant j'ai :
void afftab()
{
    int size;
    printf("Choisissez la taille du tableau :");
    scanf("%d",&size);
    int tab[size];
    int i;
    for (i=0;i<size;i++)
        {
            printf("Entrez la %de valeur : ",i+1);
            scanf("%d", &tab[i]);
        }
    for (i=0;i<(size-1);i++)
        {
            printf("%d | ", tab[i]);
        }
    printf("%d",tab[(size-1)]);
}

ET CA MARCHE !! =)

Merci beaucoup, ça faisait 15min que je cherchais désespérément !

A bientôt
Ajouter un commentaire
Ce document intitulé « Erreur prog tableau en C » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?