islessgreater

< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数函数
(C99)
(C99)
(C99)
(C99)
幂函数
(C99)
(C99)
三角及双曲函数
(C99)
(C99)
(C99)
误差及伽马函数
(C99)
(C99)
(C99)
(C99)
临近整数的浮点运算
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮点数操作函数
(C99)(C99)
(C99)
(C99)
分类
(C99)
(C99)
(C99)
(C99)
islessgreater
(C99)
类型
(C99)(C99)
宏常量
 
定义于头文件 <math.h>
#define islessgreater(x, y) /* implementation defined */
(C99 起)

确定浮点数 x 是否小于或大于浮点数 y ,而不设置浮点异常。

参数

x - 浮点值
y - 浮点值

返回值

x < y || x > y 则为非零整数值,否则为 0

注意

若一或两个参数为 NaN ,则内建的 operator<operator> 可能对浮点数引发 FE_INVALID 。此宏是表达式 x < y || x > y 的“安静”版本。宏不会对 x 和 y 求值两次。

示例

#include <stdio.h>
#include <math.h>
 
int main(void)
{
    printf("islessgreater(2.0,1.0)      = %d\n", islessgreater(2.0,1.0));
    printf("islessgreater(1.0,2.0)      = %d\n", islessgreater(1.0,2.0));
    printf("islessgreater(1.0,1.0)      = %d\n", islessgreater(1.0,1.0));
    printf("islessgreater(INFINITY,1.0) = %d\n", islessgreater(INFINITY,1.0));
    printf("islessgreater(1.0,NAN)      = %d\n", islessgreater(1.0,NAN));
 
    return 0;
}

可能的输出:

islessgreater(2.0,1.0)      = 1
islessgreater(1.0,2.0)      = 1
islessgreater(1.0,1.0)      = 0
islessgreater(INFINITY,1.0) = 1
islessgreater(1.0,NAN)      = 0

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.14.5 The islessgreater macro (p: 261)
  • F.10.11 Comparison macros (p: 531)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.14.5 The islessgreater macro (p: 241-242)

参阅

(C99)
检查第一个浮点参数是否小于第二个
(宏函数)
检查第一个浮点参数是否大于第二个
(宏函数)