Comment produire un NaN float en c?

float f = (float)'a';
if(f < 0){ 
}   
else if(f == 0){ 
}   
else if(f > 0){ 
}   
else{
    printf("NaN\n");                                                          
}   

f ne sera pas supérieure/égale/moins de 0 si c'est un NaN.

Mais comment produire un tel f en premier lieu?

J'ai essayé différentes façons de produire de l'un NaN,mais aucun travail..

gnu.org/s/hello/manual/libc/Infinity-and-NaN.html
Pouvez-vous utiliser un peu de C++? C++ std::numeric_limits des trucs qui inclut des constantes pour à la fois calme et de signalisation NaN. Aussi, êtes-vous sûr que votre système prend en charge NaN correctement? Parce que je suis VRAIMENT surpris quand vous dites que 0.0/0.0 n'est pas NaN, et je commence à soupçonner votre bibliothèque, ce n'est pas le programme d'installation de la façon dont vous pensez qu'elle est.

OriginalL'auteur Je Rog | 2011-08-27