Bonjour,
J'ai écrit cette fonction très simple :
Je l'appelle ensuite dans le fichier suivant :
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 #include <stdio.h> #include "asso.h" // fonction longueur : calcule le nombre de cases mémoires effectivement utilisées dans un tableau de taille 30 max. // => permet de calculer la longueur d'un vecteur. k doit être mis à 1 pour que le calcul soit correct. int longueur(double vecteur[30], int k) { if (k == 31 || vecteur[k] == 0) { k--; return k; } else { k++; longueur(vecteur, k); } }
Je compile ensuite le tout avec gcc 4.1.1 :
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
25 #include <stdio.h> #include "asso.h" int main() { int tab[3]; // tableau de test int n,k; // remplissage de tab for (k=1;k<31;k++) { if (k<4) { tab[k] = 1; } else { tab[k] = 0; } } // calcul de sa longueur // n = longueur(tab,1); printf("le tableau a une longueur de %d \n", n); return 0; }
La compilation se passe bien, mais à l'exécution (ie quand je tape ./main.out), mon programme m'affiche une magnifique ligne blanche... et ne s'arrête que si je fais [ctrl]+c.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 gcc -c fonction.c gcc -c main.c gcc fonction.o main.o -o main.out
Quelqu'un pourrait-il me dire où est mon erreur svp?
Merci d'avance pour vos réponses
Agnès
Partager