sqrt
, sqrtf
sqrtl
Berechnet die Quadratwurzel.
Syntax
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
Parameter
x
Nicht negativer Gleitkommawert
Hinweise
Da C++ das Überladen zulässt, können Sie Überladungen von sqrt
aufrufen, die float
oder long double
-Typen verwenden. In einem C-Programm wird diese Funktion immer verwendet und zurückgegebendouble
, sqrt
es sei denn, Sie verwenden das <tgmath.h>
Makro, um diese Funktion aufzurufen.
Wenn Sie das <tgmath.h> sqrt()
Makro verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter Typgengenerische Mathematik.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Rückgabewert
Die sqrt
-Funktion gibt die Quadratwurzel von x
zurück. Wenn dies negativ ist, sqrt
wird standardmäßig x
eine unbestimmte Zeit NaN
zurückgegeben.
Eingabe | SEH-Ausnahme | _matherr -Ausnahme |
---|---|---|
± QNaN, IND | keine | _DOMAIN |
-INF | keine | _DOMAIN |
x < 0 |
keine | _DOMAIN |
Anforderungen
Funktion | C-Header | C++-Header |
---|---|---|
sqrt , sqrtf sqrtl |
<math.h> |
<cmath> |
sqrt -Makro |
<tgmath.h> |
Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// 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
Siehe auch
Mathematische Unterstützung und Gleitkommaunterstützung
exp
, expf
expl
log
, , logf
log10
log10f
pow
, powf
powl
_CIsqrt