memcmp . .
int double, memcmp , , :
struct {
char c;
int i;
}
, 1 2, , , .
. , , . .
- NaN. IEEE754 , , NaN , . , :
#include <stdio.h>
#include <string.h>
int main (void) {
double d1 = 0.0 / 0.0, d2 = d1;
if (d1 == d2)
puts ("Okay");
else
puts ("Bad");
if (memcmp (&d1, &d2, sizeof(double)) == 0)
puts ("Okay");
else puts
("Bad");
return 0;
}
Bad
Okay
.
- . , , , memcmp , .
/ d1 d2 :
double d1 = 0.0, d2 = -d1;
.
, , , , . , , ?
, . ISO , ( /) , , , .
, , - .
( ). ISO , .
, memcmp .