温馨提示×

c语言程序sqrt函数能处理负数吗

小樊
81
2024-10-18 06:15:15
栏目: 编程语言

在C语言中,sqrt 函数来自 <math.h> 库,它用于计算一个非负数的平方根。如果你尝试对一个负数调用 sqrt 函数,它会返回一个 NaN(Not a Number),这是一个特殊的浮点数值,表示未定义或不可表示的结果。

例如:

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

int main() {
    double num = -4;
    double result = sqrt(num);
    if (isnan(result)) {
        printf("The square root of a negative number is NaN.\n");
    } else {
        printf("The square root is %f.\n", result);
    }
    return 0;
}

这段代码会输出 “The square root of a negative number is NaN.”,因为 -4 的平方根是未定义的。

如果你需要处理负数,你可能需要自己实现一个平方根函数,或者使用其他方法来处理负数的平方根情况(例如,返回一个错误码或特殊值)。

0