Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Macro NAN

Entête à inclure

#include <math.h>  // <cmath> en C++

Macro NAN (C99)

Cette macro représente une « non valeur » (Not A Number), typée float. Elle est notament utilisée par les fonctions de l'entête <math.h> pour signaler une erreur.

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    float value = 0.0 / 0.0;
    printf( "value == %f\n", value );
    
    float value2 = -value;
    printf( "value2 == %f\n", value2 );
    
    printf( "NAN == %f\n", NAN );
    
    return EXIT_SUCCESS;
}

Il est a noter que la librairie mathématique doit être ajoutée durant l'étape de "link" (édition des liens) de votre exécutable. Cela se réalise en ajoutant l'option -lm à votre compilateur GCC. En cas d'utilisation d'un autre compilateur, je vous renvoie vers la documentation de ce dernier.

$> gcc -o sample Sample.c -lm
$> ./sample
value == -nan
value2 == nan
NAN == nan
$> 

Sujets connexes

Macro HUGE_VAL
Macro INFINITY