Partilhar via


sqrt, sqrtf, sqrtl

Calcula a raiz quadrada.

Sintaxe

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

Parâmetros

x
Um valor de ponto flutuante não negativo

Comentários

Como C++ permite a sobrecarga, você pode chamar sobrecargas de sqrt que usam o tipo float ou long double. Em um programa do C, a menos que você esteja usando a macro <tgmath.h> para chamar essa função, sqrt sempre recebe e retorna um double.

Se você usar a macro <tgmath.h> sqrt(), o tipo do argumento determinará qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Valor retornado

A função sqrt retorna a raiz quadrada de x. Por padrão, se x for um valor negativo, sqrt retornará um NaN indefinido.

Entrada Exceção SEH Exceção _matherr
± QNaN, IND nenhum _DOMAIN
-INF nenhum _DOMAIN
x < 0 nenhum _DOMAIN

Requisitos

Função Cabeçalho C Cabeçalho C++
sqrt, sqrtf, sqrtl <math.h> <cmath>
Macro sqrt <tgmath.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

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

Confira também

Suporte matemático e de ponto flutuante
exp, expf, expl
log, logf, log10, log10f
pow, powf, powl
_CIsqrt