.- .

确定两个指定数字值的较大值。

语法

double fmax(
   double x,
   double y
);

float fmax(
   float x,
   float y
); //C++ only

long double fmax(
   long double x,
   long double y
); //C++ only

float fmaxf(
   float x,
   float y
);

long double fmaxl(
   long double x,
   long double y
);

#define fmax(X, Y) // Requires C11 or higher

参数

x
要比较的第一个值。

y
要比较的第二个 值。

返回值

如果成功,返回较大的 xy。 返回的值是准确值,并且不依赖于任何形式的舍入。

否则,可能返回以下值之一:

问题 返回值
x = NaN y
y = NaN x
xy = NaN NaN

此函数不使用 _matherr 中指定的错误。

备注

由于 C++ 允许重载,因此你可以调用采用并返回 floatlong double 类型的 fmax 的重载。 在 C 程序中,除非使用 <tgmath.h> 宏调用此函数,否则 fmax 始终采用并返回双精度值。

如果使用 <tgmath.h>fmax() 宏,则参数的类型将决定选择哪个版本的函数。 有关详细信息,请参阅泛型类型数学

要求

函数 C 标头 C++ 标头
.- . <math.h> <cmath> 或 <math.h>
fmax <tgmath.h>

有关兼容性的详细信息,请参阅 兼容性

另请参阅

按字母顺序显示的函数参考
.- .