Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,885 questions

51,811 answers

573 users

How to determine if a float is a not-a-number (NaN) value in C

1 Answer

0 votes
#include <stdio.h>
#include <math.h>
#include <float.h>

// Return 1 = nan, 0 = not nan

int main(void)
{
    printf("isnan(NAN)       = %d\n", isnan(NAN));
    printf("isnan(INFINITY)  = %d\n", isnan(INFINITY));
    printf("isnan(0.0)       = %d\n", isnan(0.0));
    printf("isnan(3.14)      = %d\n", isnan(3.14));
    printf("isnan(DBL_MIN)   = %d\n", isnan(DBL_MIN));
    printf("isnan(0.0)       = %d\n", isnan(0.0));
    printf("isnan(Inf - Inf) = %d\n", isnan(INFINITY - INFINITY));
}



/*
run:

isnan(NAN)       = 1
isnan(INFINITY)  = 0
isnan(0.0)       = 0
isnan(3.14)      = 0
isnan(DBL_MIN)   = 0
isnan(0.0)       = 0
isnan(Inf - Inf) = 1

*/

 



answered Feb 11, 2023 by avibootz
...