C语言pow()函数实现求x的y次方的值
时间:2021-10-09 08:50:59|栏目:C代码|点击: 次
C语言 pow() 函数用来求 x 的 y 次方的值。
头文件:math.h
语法/原型:
double pow(double x,double y);
参数说明:
- x:双精度数。
- y:双精度数。
返回值:x 的 y 次方的值。
【实例1】使用 pow() 函数求 4 的 6 次方,其代码如下:
#include <stdio.h> #include <math.h> int main() { double x = 4, y = 6; //为变量赋初值 double result = pow(x, y); //求a的b次方 printf("%lf\n", result); return 0; }
运行结果:
4096.000000
【实例2】使用C语言 pow() 函数计算用户输入的数值的次幂。
#include <stdio.h> #include <math.h> int main() { double a, b; //定义两个变量 printf("请输入一个数:"); //输出提示信息 scanf("%lf", &a); //获取用户输入的数值 printf("请输入次幂数:"); //输出提示信息 scanf("%lf", &b); //获取用户输入的数值 printf("result: %lf\n", pow(a, b)); //输出结果 return 0; }
运行结果:
请输入一个数:10
请输入次幂数:4
result: 10000.000000
可能导致错误的情况:
- 如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error 错误。
- 如果底数 x 和指数 y 都是 0,可能会导致 domain error 错误,也可能没有;这跟库的实现有关。
- 如果底数 x 是 0,指数 y 是负数,可能会导致 domain error 或 pole error 错误,也可能没有;这跟库的实现有关。
- 如果返回值 ret 太大或者太小,将会导致 range error 错误。
错误代码:
- 如果发生 domain error 错误,那么全局变量 errno 将被设置为 EDOM;
- 如果发生 pole error 或 range error 错误,那么全局变量 errno 将被设置为 ERANGE。