Participer au site avec un Tip
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 :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonctions nan, nanf et nanl

Entête à inclure

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

Fonctions nan, nanf et nanl

double      nan( const char *tagp );                    // C99
float       nanf( const char *tagp );                     // C99
long double nanl( const char *tagp );         // C99

Ces trois fonctions produisent une valeur NaN silencieuse, éventuellement annotée par une chaîne de caractères dépendante de l'implémentation.

Ces éléments ont été ajoutés par la version C99 du standard du langage C.

Paramètres

Valeur de retour

Ces fonctions renvoient une valeur NaN silencieuse.

Exemple de code

L'exemple suivant montre une utilisation simple de ces fonctions.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {
    double value = nan("");
    printf( "isnan(value) == %d\n", isnan(value) );
    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction nan.

Il est à 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
isnan(value) == 1
$>

Sujets connexes

La macro isnan
La macro NAN


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé