函式
<cmath> <ctgmath>

sqrt

double sqrt (double x);
     double sqrt  (double x);      float sqrtf (float x);long double sqrtl (long double x);
     double sqrt (double x);      float sqrt (float x);long double sqrt (long double x);
     double sqrt (double x);      float sqrt (float x);long double sqrt (long double x);     double sqrt (T x);           // additional overloads for integral types
計算平方根
返回 x平方根

標頭檔案 <tgmath.h> 提供了此函式的型別通用宏版本。
此函式在 <complex><valarray> 中進行了過載(請參閱 complex sqrtvalarray sqrt)。
此標頭(<cmath>)為整數型別提供了其他過載:這些過載在計算前有效地將 x 轉換為 double(為 T 是任何整數型別的情況定義)。

此函式也在 <complex><valarray> 中進行了過載(請參閱 complex sqrtvalarray sqrt)。

引數

x
計算平方根的值。
如果引數為負,則會發生定義域錯誤

返回值

x 的平方根。
如果 x 為負數,則會發生定義域錯誤

如果發生定義域錯誤,全域性變數 errno 會被設定為 EDOM
如果發生定義域錯誤
- 並且 math_errhandling 設定了 MATH_ERRNO:全域性變數 errno 會被設定為 EDOM
- 並且 math_errhandling 設定了 MATH_ERREXCEPT:將引發 FE_INVALID

示例

1
2
3
4
5
6
7
8
9
10
11
12
/* sqrt example */
#include <stdio.h>      /* printf */
#include <math.h>       /* sqrt */

int main ()
{
  double param, result;
  param = 1024.0;
  result = sqrt (param);
  printf ("sqrt(%f) = %f\n", param, result );
  return 0;
}

輸出

sqrt(1024.000000) = 32.000000


另見