Aracılığıyla paylaş


sqrt, sqrtf, sqrtl

Karekökünü hesaplar.

Sözdizimi

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

Parametreler

x
Negatif olmayan kayan nokta değeri

Açıklamalar

C++ aşırı yüklemeye izin verdiğinden, bu alma float veya long double türlerinin sqrt aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için makroyu <tgmath.h> kullanmadığınız sürece, sqrt her zaman alır ve döndürür double.

Makroyu <tgmath.h> sqrt() kullanırsanız, bağımsız değişkenin türü işlevin hangi sürümünün seçili olduğunu belirler. Ayrıntılar için bkz . Tür genel matematik .

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Dönüş değeri

sqrt İşlevler işlevinin karekökünü xdöndürür. Varsayılan olarak, negatifse xsqrt süresiz NaNbir döndürür.

Girdi SEH özel durumu _matherr özel durumu
± QNaN, IND yok _DOMAIN
-INF yok _DOMAIN
x < 0 yok _DOMAIN

Gereksinimler

Function C üst bilgisi C++ üst bilgisi
sqrt, sqrtf, sqrtl <math.h> <cmath>
sqrt Makro <tgmath.h>

Uyumluluk bilgileri için bkz . Uyumluluk.

Örnek

// 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

Ayrıca bkz.

Matematik ve kayan nokta desteği
exp, expf, expl
log, logf, log10, log10f
pow, powf, powl
_CIsqrt