C语言 引用<math.h>神奇出错 求高手

初学C语言,敲入下面这段代码后进行编译时,给我提示:
DEV-CPP\include\math.h too few arguments to function `double pow(double, double)'
并且跑出一个名为"math.h"的标签,在这一行显示出错:
_CRTIMP double __cdecl pow (double, double);
哎呀,话说我刚学C,怎么就让我见识这么神奇的事呢?
我编译程序用的dev-c++。

求高手,求教。。。 。。。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
double x,y;
scanf("%lf",&x);
if(x>=0){
y=sqrt(x);
}
else{
y=(pow(x)+2x+1)/x;
}
printf("%d\n",y);
system("pause");
return 0;
}

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(void)
{
double x,y;
scanf("%lf",&x);
if(x>=0){
y=sqrt(x);
}
else{
y=(pow(x,2)+2*x+1)/x;
}
printf("%lf\n",y);
system("pause");
return 0;
}
y=(pow(x,2)+2*x+1)/x;
printf("%lf\n",y);
上面的两句错了,c中没有2x,只有2*x
还有printf("%d\n",y)这样和定义不对应追问

那五次幂是不就是把 pow(x,2) 中的2换成5?

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-26
不懂英语确实麻烦点。
pow()函数需要两个参数,而你的代码中用pow(x),只有一个参数。改成pow(x, 2)试试?

那句提示的意思是 参数太少。
第2个回答  2011-03-26
pow(a,b)表示a的b次方。明显少了参数
相似回答