gcc : problème d'exécution
Bonjour,
J'ai écrit cette fonction très simple :
Code:
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 l'appelle ensuite dans le fichier suivant :
Code:
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;
} |
Je compile ensuite le tout avec gcc 4.1.1 :
Code:
1 2 3
| gcc -c fonction.c
gcc -c main.c
gcc fonction.o main.o -o main.out |
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.
Quelqu'un pourrait-il me dire où est mon erreur svp?
Merci d'avance pour vos réponses
Agnès