Salut,
En parcourant ton code très rapidement, voici les erreurs que je vois:
1) La forme de main n'est pas standard et doit être:
1 2 3 4 5 6 7 8 9 10 11 12 13
| int main(void)
{
/*...*/
return EXIT_SUCCESS;
}
/* ou */
int main(int argc, char *argv[])
{
/*...*/
return EXIT_SUCCESS;
} |
2) L'exécution de la fonction main doit se terminer en retournant une valeur entière, en particulier, 0 ou EXIT_SUCCESS en cas d'exécution avec succès.
3) fonction est une fonction qui renvoie une valeur de type float et qui prend en argument une valeur de type float. On ne peut pas appeler fonction en ne lui passant aucun paramètre.
4) fonction étant définit après main, fonction doit donc faire l'objet d'une déclaration sous la forme d'un prototype:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include <stdio.h>
#include <stdlib.h>
float fonction(float x);
int main(void)
{
/*...*/
return EXIT_SUCCESS;
}
float fonction(float x)
{
/*...*/
} |
5) fonction doit retourner une valeur de type float
6) La fonction erreur est également définie après sa première utilisation, ce qui nécessite une déclaration sous la forme d'un prototype (comme pour fonction)
7) L'appel de fonction selon la sytaxe suivante est erroné
if (x==1 || x==-1) void erreur;
8) L'utilisation de la fonction de la bibliothèque standard fflush avec un flux entrant (ici stdin) engendre un comportement indéfini et ne doit pas être utilisé.
Thierry
Partager