How to use isnan() function to determine if the given floating point number is a not-a-number (NaN) in C

1 Answer

0 votes
#include <stdio.h>     
#include <math.h>     
 
// Return non-zero if x is a NaN and zero otherwise
 
int main(int argc, char **argv)
{   
    printf("isnan(1.0 / 0.0)  = %d\n", isnan(1.0 / 0.0));
    printf("isnan(-1.0 / 0.0) = %d\n", isnan(-1.0 / 0.0));
    printf("isnan(0.0)        = %d\n", isnan(0.0));
    printf("isnan(NAN)        = %d\n", isnan(NAN));
    printf("isnan(INFINITY)   = %d\n", isnan(INFINITY));
    printf("isnan(0.0 / 0.0)  = %d\n", isnan(0.0 / 0.0));
    printf("isnan(INFINITY / -INFINITY) = %d\n", isnan(INFINITY / -INFINITY));
  
    return 0;
}
 
 
/*
run:
   
isnan(1.0 / 0.0)  = 0
isnan(-1.0 / 0.0) = 0
isnan(0.0)        = 0
isnan(NAN)        = -1
isnan(INFINITY)   = 0
isnan(0.0 / 0.0)  = -1
isnan(INFINITY / -INFINITY) = -1
 
*/

 



answered Mar 22, 2016 by avibootz
edited Mar 22, 2016 by avibootz
...