#include //Directives de pré-processeur minimale //Prototype de la fonction. A mettre dans un .h si on veut l'appeler via un autre fichier void sommeTableau (int tableau[], int nb_elemt); //Fonction main main () { char r ; int nb_elemt = 0; char s; int tableau[10]; /*Pensez à mettre la taille max et pas une variable dans le tableau (en effet, cela ne marche pas avec une variable*/ do { printf ("Entrer le nombre d'éléments qui composera le tableau ( < = à 10 ) :\n"); scanf ("%d",&nb_elemt); //Appel de la fonction. Attention à la désignation des arguments. sommeTableau (tableau, nb_elemt); //Ne pas oublier le ; sinon ce ne sera pas une instruction. printf ("Recommencer (o/n) ?"); scanf ("%c",&r); //gets(s); est une alternative pour vider le buffer while( (s=getchar())!='\n' && s!=EOF ); }while (r=='o'); } //Fonction mis en void car elle n'a pas de return. void sommeTableau (int tableau[], int nb_elemt) { int i; int som = 0; //nb_elemt etant deja declaré dans la main(), pas besoin de le redeclarer for (i=1; i <= nb_elemt ; i=i+1) //Attention les espaces sont considérés en erreur pdt la compil. { printf ("Entrez le nombre %d :\n",i); scanf ("%ld",&tableau[i]); som = som + tableau[i] ; } printf ("La somme des éléments du tableau vaut %d.\n\n", som); //Plus efficace qu'un return }