La liberté vaincra!!
 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 : Bash1
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 :):)
|
PriPrOTtTt§!!!§
 Groupe : Membres
|
Code : C1
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 : C1 | 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 : C1 | 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 : C1 | printf(" Cela fait %ld \n", sommeTableau(tableau, 10));
|
Ou alors
Code : C1
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.
|
La liberté vaincra!!
 Groupe : Membres
|
Merci pour tes réponces constructives, c'était effectivement sa, le probleme, j'ignorais (ou plutot, j'avais mal assimilé certain points  ).
Maintenant le programme marche!
Merci!
|