C90 | double sqrt (double x); |
C99 | double sqrt (double x);
float sqrtf (float x); long double sqrtl (long double x); |
C++98 | double sqrt (double x);
float sqrt (float x); long double sqrt (long double x); |
C++11 | double sqrt (double x);
float sqrt (float x); long double sqrt (long double x); double sqrt (T x); // additional overloads |
C99 | 头文件<tgmath.h> 提供了该函数的类型泛型宏版本。 |
C++98 | 这个函数在<complex>和<valarray> 中重载(参见complex sqrt和valarray sqrt)。 |
C++11 | 这个头文件(<cmath>) 为整型提供了额外的重载:这些重载在计算之前将x转换为double
(在T是任何整型时定义)。
这个函数在<complex>和<valarray> 中也重载(参见complex sqrt和valarray sqrt)。 |
C90(C++98) | 如果发生域错误,则将全局变量errno设置为EDOM。 |
C99(C++11) | 如果出现域错误:
-并且math_errhandling设置了MATH_ERRNO: 全局变量errno设置为 EDOM。 -并且math_errhandling设置了MATH_ERREXCEPT: 触发FE_INVALID。 |
/* 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; } |
log | 自然对数(function ) |
pow | 计算幂(function ) |