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 x sqrt süresiz NaNbir döndürür.

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

Gereksinimler

İşlev 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