C语言 请问为什么这儿pow函数会报错?

作者&投稿:大枫 (若有异议请与网页底部的电邮联系)
C语言 请问为什么这儿pow函数会报错?~

看错误就知道了,pow函数第一个参数不支持int型的,要么double,要么float要么long double,改成p=pow(2.0,i);吧

pow()函数用来求x的y次幂,x、y及函数值都是double型 ,其原型为:double pow(double x, double y)。
实例代码如下:
#include
#include
void main()
{
double x = 2, y = 10;
printf("%f
",pow(x, y));
return 0;
}

扩展资料:
在调用pow函数时,可能导致错误的情况:
如果底数 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。
参考资料:
pow函数——百度百科

检查你的C++安装目录下\include子目录下的头文件math.h,该文件是否被替代、重编、删减,其中pow代码是否存在。
还可以在编译后生成的atoi.lst文件中查找错误原因。

Pow函数C语言中的指数函数,属于C语言自带函数。 Power函数在C语言中没有,只在C++中出现,属于C++的STL库中的自定义函数,使用方法和Pow差不多。

Pow函数的使用:
1,要加入头文件 math.h
2,pow(x,y);//其作用是计算x的y次方。x、y及函数值都是double型
例:
计算2的5次方。
源代码如下:
#include"stdio.h"
#include"math.h"
main()
{
long total;
int x = 2, y = 5;
total = pow(x,y); /*调用pow函数*/
printf("%ld",total);
getch();
}


金乡县15812393712: C语言 请问为什么这儿pow函数会报错? -
鄹盛力坦: 看错误就知道了,pow函数第一个参数不支持int型的,要么double,要么float要么long double,改成p=pow(2.0,i);吧

金乡县15812393712: c语言,pow函数.为什么pow的取值赋给整型变量能输出结果,而本身用%d怎么不能输出. -
鄹盛力坦: pow出的结果本身是double型的,书上写的是 double pow(double a,double b),, 就像定义double型参数j=2.3,你不能用%d输出,但是如果定义整型i,i取得的就只是整数部分

金乡县15812393712: C语言pow函数为什么结果不一样 -
鄹盛力坦: 第一个计算(p1)时,r和n没有赋值; 第二个计算(p)时,r和n已经赋值; 所以计算结果不同. 你把第6行与第7行换一下位置,就一样了.

金乡县15812393712: C语言中幂函数 pow 的用法 -
鄹盛力坦: 原型:extern float pow(float x, float y); 用法:#include <math.h> 功能:计算x的y次幂. 说明:x应大于零,返回幂指数的结果. 举例: // pow.c #include <stdlib.h> #include <math.h> #include <conio.h> void main() { printf("4^5=%f",pow(4.,5.)); getchar(); } 相关函数:pow10

金乡县15812393712: 一段简单的C程序,关于pow函数的 -
鄹盛力坦: 给pow之前加上(float)强制类型转换,输出也用实型输出.

金乡县15812393712: C语言pow函数问题(下例为"水仙花数"的程序),为什么下例程序不能输出407的情况? -
鄹盛力坦: #include using namespace std; int main() { int n,a,b,c; for(n=100;n { a=n/100; b=((n/10)%10); c=n%10; if((int)(pow(a,3)+pow(b,3)+pow(c,3))==n)cout }return 0; }

金乡县15812393712: C语言:POW函数
鄹盛力坦: 因为你用整数1 那么默认的就是int型 而不是double型 第二个参数算出来也就是个int而不是double pow是个重载函数 会进行类型匹配的 如果类型写错了 会调用不同的函数的

金乡县15812393712: c语言pow的用法 -
鄹盛力坦: pow是指数函数,pow(10,n)就是10的n次方

金乡县15812393712: C语言,如何防止pow(,)函数重载,下面这个程序如何改 -
鄹盛力坦: 程序对pow函数的使用有误.pow函数参数类型是double型,而不是int型.对于int型变量,使用时要强制改为double型. if(x==pow(a,3)+pow(b,3)+pow(c,3)) 改为if(x==pow((double)a,3)+pow((double)b,3)+pow((double)c,3)) 即a、b、c前都加(double)

金乡县15812393712: c语言:pow函数出现奇异现象,求助高人! -
鄹盛力坦: pow函数是返回实数值的函数.原则上说,凡是返回实数值的运算,都不保证绝对没有误差,而只是保证误差充分小.例如:相随误差的绝对值小于2的若干次方分之一,等等.在常见的C系统中,double型的存储形式本身,只能保证分辨精度不...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网