# isunordered

< c‎ | numeric‎ | math

定义于头文件 `<math.h>` |  |
#define isunordered(x, y) /* implementation defined */ |  | (C99 起)

确定浮点数 `x` 与 `y` 是否无序，即一或两个是 NaN ，从而无法有意义地彼此比较。

### 参数

x | - | 浮点值
y | - | 浮点值

### 返回值

若 `x` 或 `y` 为 NaN 则为非零整数值，否则为 ​0​ 。

### 示例

    #include <stdio.h>
    #include <math.h>

    int main(void)
    {
        printf("isunordered(NAN,1.0) = %d\n", isunordered(NAN,1.0));
        printf("isunordered(1.0,NAN) = %d\n", isunordered(1.0,NAN));
        printf("isunordered(NAN,NAN) = %d\n", isunordered(NAN,NAN));
        printf("isunordered(1.0,0.0) = %d\n", isunordered(1.0,0.0));

        return 0;
    }

可能的输出：

    isunordered(NAN,1.0) = 1
    isunordered(1.0,NAN) = 1
    isunordered(NAN,NAN) = 1
    isunordered(1.0,0.0) = 0

### 引用

- C11 标准（ISO/IEC 9899:2011）：

  - 7.12.14.6 The isunordered macro (p: 261)

  - F.10.11 Comparison macros (p: 531)

- C99 标准（ISO/IEC 9899:1999）：

  - 7.12.14.6 The isunordered macro (p: 242)

### 参阅

fpclassify (C99) | 对给定的浮点值分类 (宏函数)
isnan (C99) | 检查给定数是否为 NaN (宏函数)