Bonsoir , j'ai écrit un programme qui m'affiche la longueur de chaque ligne rencontrée en entrée , pour ce ci j'ai 2 fichiers , une fonction lireligne qui affiche la longueur d'une ligne , et un programme main pour l'éxécuter , voici les codes :

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
 
 
/* fonction */
#include <stdio.h>
 
int lireligne(char s[], int lim)
{
   int c, i;
 
   for ( i=0; i < lim - 1 && (c=getchar()) != EOF && c!='\n'; ++i)
      s[i] = c;
   if ( c == '\n' )
   {
      s[i] = c;
      ++i;
   }
   s[i] = '\0';
   return i;
}
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
 
int lireligne(char ligne[], int taille);
 
int main(void)
{
   int l = 0;
   int c;
 
   while ((c=getchar() !=EOF && lireligne > 0 )
   {
      if ( c == '\n' )
         ++l;
      else
         l = 0;
   }
   printf("%d\n", l);
}
message d'erreur pour la compilation :

main.c : warning ordered comparaison of pointer with integer zero , control reaches end of non void function .
Est ce que par hasard çà serait parce que j'ai oublié le return 0 ?
merci