c语言pow函数实现
时间: 2024-09-25 21:04:02 浏览: 40
C语言标准库中并没有直接提供`pow`函数,这个函数通常是在数学运算头文件`math.h`中找到的,用于计算两个数的幂。如果想在C语言中实现一个简单的`pow`函数,可以参考下面的基本牛顿法或使用递归来实现:
**递归实现 (仅适用于整数和浮点数相乘)**
```c
double my_pow(double base, int exponent) {
if (exponent == 0)
return 1.0;
else if (exponent > 0)
return base * my_pow(base, exponent - 1);
else // exponent < 0
return 1.0 / my_pow(base, -exponent);
}
```
**迭代牛顿法实现 (通用于任意实数)**
```c
double my_pow(double base, double exponent) {
double result = 1.0;
while (fabs(exponent) > DBL_EPSILON) { // 防止除以零
if (exponent > 0) {
result *= base;
--exponent;
} else {
result /= base;
exponent += 1.0;
}
}
return result;
}
```
阅读全文