Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les forums > Programmation > Langage C > Exercice 1 des tableaux > Lecture du sujet

Exercice 1 des tableaux

Erreur inconu du compilateur

Vous devez être inscrit pour pouvoir poster des messages

Page : 1 
Auteur Message
1 visiteur sur ce sujet (1 anonyme)
Page : 1 
Hors ligne magiccerbere # Posté le 19/07/2008 à 11:06:43
La liberté vaincra!!
Avatar
Groupe : Membres
Bonjour a tous, chers zero

Je me suis attaqué aux exercices sur les tableaux donnés par Mathéo, mais voila que mon compilateur m'indique des erreurs que je n'arrive pas a comprendre. Je relis mon code, je le relis encore, je ne trouve pas (il faut dire que je suis assez tete en l'air :d)


Donc voila mon code:

Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//Enoncé: créer une fonction sommeTableau qui renvoie la somme des valeurs contenues dans le tableau (utilisez un return pour renvoyer la valeur).



#include <stdio.h>
#include <stdlib.h>
long sommeTableau(long tableau[], long tailleTableau);


int main(int argc, char *argv[])
 {

 long tableau[10];
   tableau[10] = {5,10,5,9,8,10,0};

   sommeTableau(tableau, 10);


  printf(" Cela fait %ld \n", sommeTableau); //Devrait afficher 47

return 0;

 }


long sommeTableau(long tableau[], long tailleTableau)
{
    long somme = 0;
    long valeur = 0;

  for (valeur = 0 ; valeur < tailleTableau ; valeur++)
       {
         somme = somme + tableau[valeur];
            
       }





 return somme;
}


et voici les erreurs de GCC:
Code : Bash
1
2
3
4
5
mickael@mickael-laptop:~/prog$ gcc -o exercices -lm exercices.c -Wall
exercices.c: Dans la fonction «main» :
exercices.c:14: erreur: expected expression before «{» token
exercices.c:19: attention : format «%ld» expects type «long int», but argument 2 has type «long int (*)(long int *, long int)»
mickael@mickael-laptop:~/prog$



Merci pour votre aide :):)
Hors ligne GuilOooo # Posté le 19/07/2008 à 11:18:37
PriPrOTtTt§!!!§
Avatar
Groupe : Membres
Code : C
1
2
long tableau[10];
   tableau[10] = {5,10,5,9,8,10,0};


...

Tu ne peux pas faire ça. Là, tu tentes de mettre 10 valeur dans la case numéro 10 de ton tableau. C'est assez moyen...

Code : C
1
long tableau[10] = {5,10,5,9,8,10,0};


Ce code crée un tableau de 10 cases et l'initialise comme tu veux (notes que les valeurs non-précisées seront normalement initialisées à 0).

Code : C
1
printf(" Cela fait %ld \n", sommeTableau); //Devrait afficher 47


Ton commentaire est faux. sommeTableau, c'est une fonction ! Comment tu veux afficher une fonction dans un printf ? Ce que tu veux, c'est le résultat de ta fonction, en réalité. Donc :

Code : C
1
printf(" Cela fait %ld \n", sommeTableau(tableau, 10));


Ou alors

Code : C
1
2
long somme = sommeTableau(tableau, 10);
printf("Cela fait : %d \n", somme);


Il y a peut-être d'autres erreurs, je n'ai regardé que ce qui est signalé par le compilo.

Ma série d'articles « Paradigmes » : Intro - Impératif
OpenCola, la seule boisson open-source au monde !
 
Hors ligne magiccerbere # Posté le 19/07/2008 à 11:24:17
La liberté vaincra!!
Avatar
Groupe : Membres
Merci pour tes réponces constructives, c'était effectivement sa, le probleme, j'ignorais (ou plutot, j'avais mal assimilé certain points :D ).
Maintenant le programme marche!
Merci!

Retour au forum "Langage C" ou à la liste des forums

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 105 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.129s (0.1152s)