C语言pow()函数实现求x的y次方的值

来自:互联网
时间:2021-03-09
阅读:

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。
返回顶部
顶部