sqrt
, , sqrtf
sqrtl
Вычисляет квадратный корень.
Синтаксис
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 , , sqrtf sqrtl |
<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
, , expf
expl
log
, , logf
log10
log10f
pow
, , powf
powl
_CIsqrt