Поделиться через


sqrt, , sqrtfsqrtl

Вычисляет квадратный корень.

Синтаксис

double sqrt(
   double x
);
float sqrt(
   float x
);  // C++ only
long double sqrt(
   long double x
);  // C++ only
float sqrtf(
   float x
);
long double sqrtl(
   long double x
);
#define sqrt(x) // Requires C11 or higher

Параметры

x
Неотрицательные значения с плавающей запятой

Замечания

Поскольку C++ допускает перегрузку, можно вызывать перегрузки sqrt, которые принимают типы float или long double. В программе C, если вы не используете <tgmath.h> макрос для вызова этой функции, sqrt всегда принимает и возвращает.double

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

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

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

Функции sqrt возвращают квадратный корень x. По умолчанию, если x отрицательный, sqrt возвращает неопределенное время NaN.

Входные данные Исключение SEH Исключение _matherr
± QNaN, IND ничего _DOMAIN
- INF ничего _DOMAIN
x < 0 ничего _DOMAIN

Требования

Function Заголовок C Заголовок C++
sqrt, , sqrtfsqrtl <math.h> <cmath>
sqrtМакрос <tgmath.h>

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

Пример

// crt_sqrt.c
// This program calculates a square root.

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

int main( void )
{
   double question = 45.35, answer;
   answer = sqrt( question );
   if( question < 0 )
      printf( "Error: sqrt returns %f\n", answer );
   else
      printf( "The square root of %.2f is %.2f\n", question, answer );
}
The square root of 45.35 is 6.73

См. также

Поддержка математических и плавающих точек
exp, , expfexpl
log, , logflog10log10f
pow, , powfpowl
_CIsqrt