pow函数:
C/C++中的数学函数;
pow() 函数用来求 x 的 y 次幂(次方),x、y及函数值都是double型
pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。
可能导致错误的情况:
如果底数 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。
拓展资料:
原型:在TC2.0中原型为extern float pow(float x, float y); ,而在VC6.0中原型为double pow( double x, double y );
头文件:math.h/cmath(C++中)
功能:计算x的y次幂。
返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果。
返回类型:double型,int,float会给与警告!百度百科--POW函数
原型:extern float pow(float x, float y);
用法:#include
功能:计算x的y次幂。
说明:x应大于零,返回幂指数的结果。
举例:
// pow.c
#include
#include
main()
{
clrscr(); // clear screen
textmode(0x00); // 6 lines per LCD screen
printf("4^5=%f",pow(4.,5.));
getchar();
return 0;
}
参数类型应该严格一致, 除非可以进行隐式转换
比如 int 和 float 型可以隐式转换成 double型,而且因为是向上扩展,不会引起什么后遗症
函数值类型没听说过 你应该说的是函数的返回值吧, 那要看这个函数的返回值是什么类型了,比如说这里pow的返回值也是 double型的
-- 补充
pow函数是库函数,参数类型已经定了,所以你不能改
你可以传入int型的,但他实际传进去的时候做了一次转换,传出的时候还是double的
你可以再做一次转换变成int型,(很多时候可以不考虑这个,因为 5.00000和5对你后面的操作不会有什么区别)
-- 再补充
是的,函数的返回值类型不会因为你传入值改变而改变,除非是C++的函数模板,pow只是普通函数
原型:extern float pow(float x, float y);
用法:#include
功能:计算x的y次幂。
说明:x应大于零,返回幂指数的结果。
举例:
// pow.c
#include
#include
#include
void main()
{
printf("4^5=%f",pow(4.,5.));
getchar();
}
相关函数:pow10
它在头文件math.h中,原型是double pow(double x,double y),求浮点数数x的y次方并返回。