본문 바로가기

C 언어 함수

sqrt 함수

C언어에서 루트를 계산할 때 사용하는 sqrt 함수는 <math.h> 헤더 파일에 정의되어 있다.

sqrt 함수를 사용하기 위해 먼저 <math.h> 헤더 파일을 포함해야 한다.

 

또한 sqrt() 함수는 double sqrt(double x);로 정의되어 있다.

이 함수는 인자로 double 타입의 값을 받고, 계산된 제곱근 역시 double 타입으로 반환한다. 

 

예제 코드

#include <stdio.h>
#include <math.h>

int main() {
    double number = 25.0;  // 제곱근을 구하고자 하는 수
    double result;         // 계산된 제곱근을 저장할 변수

    result = sqrt(number); // sqrt 함수를 호출하여 제곱근 계산

    printf("The square root of %.2f is %.2f\n", number, result);
    return 0;
}
답 : 5.0

 

주의 사항
음수의 제곱근을 계산하려고 하면, 결과는 "nan" (not a number)으로 나타난다.

C언어 표준에서는 실수 범위 내에서 음수의 제곱근을 계산하는 것을 지원하지 않는다.

복소수 제곱근을 계산하고자 할 때는 다른 함수나 라이브러리를 사용해야 한다.


sqrt() 함수를 사용하기 위해서는 컴파일 시 -lm 옵션을 사용하여 수학 라이브러리를 링크해야 한다 (일부 컴파일러 및 환경에서 필요). 예를 들어, gcc 컴파일러를 사용하는 경우, 컴파일 명령은 gcc -o program program.c -lm 이런 식으로 됨.