Bonsoir

Je viens vous solliciter au sujet des tableaux et les pointeurs.

J'ai vraiment du mal quand il s'agit de chaines ou de tableaux car si je comprends bien les tableaux se comportent comme des pointeurs, du coup je ne sais pas quand utiliser des & ..

Merci de m'expliquer où sont mes erreurs et s'il y a moyen d'améliorer ce code.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
float moyenne(float tableau[], float N) {
 
    int i;
    float moyenne = 0;
 
    for( i = 0; i < N; i++) {
        moyenne = moyenne + tableau[i];
    }
    moyenne = moyenne / N;
    return moyenne;
}
 
int main(void) {
    float b = 0;
    float N = 0;
    printf(" Combien de cases voulez-vous pour votre tableau");
    scanf("%lf", &N);
    float tableau[N];
    b = moyenne(tableau, N);
    printf("moyenne du tableau %lf \n", b);
 
    return 0;
}
Et les erreurs qui s'affichent :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
test.c: In function ‘main’:
test.c:21:2: warning: format ‘%lf’ expects argument of type ‘double *’, but argument 2 has type ‘float *’ [-Wformat=]
  scanf("%lf", &N);
  ^
test.c:22:8: error: size of array ‘tableau’ has non-integer type
  float tableau[N];
        ^