sqrt
, , sqrtf
sqrtl
Oblicza pierwiastek kwadratowy.
Składnia
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
Parametry
x
Wartość zmiennoprzecinkowa nieujemna
Uwagi
Ponieważ język C++ umożliwia przeciążenie, można wywołać przeciążenia sqrt
tego typu float
lub long double
typu. W programie języka C, chyba że używasz makra <tgmath.h>
do wywoływania tej funkcji, sqrt
zawsze przyjmuje i zwraca wartość double
.
Jeśli używasz makra <tgmath.h> sqrt()
, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wartość zwracana
Funkcje sqrt
zwracają pierwiastek kwadratowy elementu x
. Domyślnie, jeśli x
jest ujemny, sqrt
zwraca nieokreślony NaN
.
Dane wejściowe | Wyjątek SEH | Wyjątek _matherr |
---|---|---|
± QNaN, IND | Brak | _DOMAIN |
-INF | Brak | _DOMAIN |
x < 0 |
Brak | _DOMAIN |
Wymagania
Function | Nagłówek języka C | Nagłówek języka C++ |
---|---|---|
sqrt , , sqrtf sqrtl |
<math.h> |
<cmath> |
sqrt Makro |
<tgmath.h> |
Aby uzyskać informacje o zgodności, zobacz Zgodność.
Przykład
// 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
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
exp
, , expf
expl
log
, , logf
, , log10
log10f
pow
, , powf
powl
_CIsqrt