当前位置 : 主页 > 编程语言 > c语言 >

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

来源:互联网 收集:自由互联 发布时间:2021-05-09
C语言 pow() 函数用来求 x 的 y 次方的值。 头文件:math.h 语法/原型: double pow(double x,double y); 参数说明: x:双精度数。 y:双精度数。 返回值:x 的 y 次方的值。 【实例1】使用 pow() 函

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。

到此这篇关于C语言pow()函数实现求x的y次方的值的文章就介绍到这了,更多相关C语言 求x的y次方的值内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

网友评论