none
#include <math.h> et fonction fabs RRS feed

  • Question

  • bonjour à tous ,

    voilà ma question,
    d'après mes leçons , on peut utiliser la directive (math)  pour faire comprendre au compilateur qu'on demande une fonction mathématique, comme demander une valeur absolue.
    voici le programme ;

    #include <stdio.h>
    #include <math.h>
    int main()

    {int absolu = 0, nombre = -50;
    absolu = fabs(nombre) ;

    printf("%d",absolu);

    return 0;}

    Il est écrit sur ma console 50, ce qui correspond tout à fait au résultat attendu

    mais lorsque je supprime la directive du préprocesseur (#include <math.h>) donc le programme suivant :

    #include <stdio.h>

    int main()

    { int absolu = 0, nombre = -50;
    absolu = fabs(nombre) ;

    printf("%d",absolu);

    return 0;}

    Ma console indique le résultat suivant : 4991 , POURQUOI ?
    J'ai essayé de chercher l'explication , en vain, merci beaucoup pour votre aide ,
    à bientôt .


    bonjour à tous les développeurs, débutant en vba, je suis à l'écoute de tous conseils.
    dimanche 31 janvier 2010 11:07

Réponses

  • Bonjour,

     

    La fonction fabs se trouve dans math.h ou dans <cmath> dans l’espace des noms std. Donc si vous avez supprimé #include <math.h> votre programme ne devrait plus compiler, sauf si vous avez aussi la directive

    #include <cmath>

    using namespace std ;

     

    Peut-être vous pouvez poster ici le code source de votre programme, pour clarifier les choses.

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    • Marqué comme réponse Alex Petrescu vendredi 5 février 2010 08:20
    mardi 2 février 2010 12:22