NAN
Header: <math.h>
The macro NAN expands to a constant expression of type float, which evaluates to a quiet not-a-number (QNaN) value. If the implementation does not support QNaNs, this macro constant is not defined.
# Declarations
#define NAN /*implementation defined*/
(since C99)
# Notes
There are many different NaN values, differentiated by their payloads and their sign bits. The contents of the payload and the sign bit of the NaN generated by the macro NAN are implementation-defined.
# Example
#include <inttypes.h>
#include <math.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
const double f = NAN;
uint64_t fn;
memcpy(&fn, &f, sizeof f);
printf("NAN: %f %" PRIx64 "\n", f, fn);
}