hypot, hypotf, hypotl, _hypot, _hypotf, _hypotl

Вычисляет гипотенузу.

Синтаксис

double hypot(
   double x,
   double y
);
float hypotf(
   float x,
   float y
);
long double hypotl(
   long double x,
   long double y
);
double _hypot(
   double x,
   double y
);
float _hypotf(
   float x,
   float y
);
long double _hypotl(
   long double x,
   long double y
);
#define hypotf(X, Y) // Requires C11 or higher

Параметры

x, y
Значения с плавающей запятой.

Возвращаемое значение

В случае успешного выполнения hypot возвращает длину гипотенузы. При переполнении hypot возвращает INF (бесконечность), а параметру errno присваивается значение ERANGE. Изменить способ обработки ошибок можно с помощью _matherr.

Дополнительные сведения о кодах возврата см. в разделе errno, _doserrno_sys_errlistи _sys_nerr.

Замечания

Функция hypot рассчитывает длину гипотенузы прямоугольного треугольника на основе длины двух других сторон (x и y). Другими словами, эта функция вычисляет квадратный корень из выражения x2 + y2.

Для совместимости с более ранними стандартами используются версии функций с символом подчеркивания в начале. Их поведение идентично поведению версий, которые не имеют таких символов. В новом коде рекомендуется использовать версии без символов подчеркивания.

Если вы используете <макрос tgmath.h>hypot() , тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Маршрут Обязательный заголовок
hypot, hypotf, hypotl, _hypot, _hypotf, _hypotl <math.h>
hypotМакрос <tgmath.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

// crt_hypot.c
// This program prints the hypotenuse of a right triangle.

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

int main( void )
{
   double x = 3.0, y = 4.0;

   printf( "If a right triangle has sides %2.1f and %2.1f, "
           "its hypotenuse is %2.1f\n", x, y, _hypot( x, y ) );
}
If a right triangle has sides 3.0 and 4.0, its hypotenuse is 5.0

См. также

Поддержка математических и плавающих точек
_cabs
_matherr