We recommend using Visual Studio 2017

sqrt, sqrtf, sqrtl


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at sqrt, sqrtf, sqrtl.

Calculates the square root.

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   


Non-negative floating-point value

Because C++ allows overloading, you can call overloads of sqrt that take float or long double types. In a C program, sqrt always takes and returns double.

The sqrt functions return the square-root of x. By default, if x is negative, sqrt returns an indefinite NaN.

InputSEH Exception_matherr Exception
- ∞none_DOMAIN
FunctionC headerC++ header
sqrt, sqrtf, sqrtl<math.h><cmath>

For compatibility information, see Compatibility.

// 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 );  
      printf( "The square root of %.2f is %.2f\n", question, answer );  

The square root of 45.35 is 6.73  


Floating-Point Support
exp, expf
log, logf, log10, log10f
pow, powf, powl