请问pow函数怎么用?(看看我哪错了)

来源:百度知道 编辑:UC知道 时间:2024/06/22 17:14:13
#include <stdio.h>
#include <math.h>
double A(double a,double b);
void B(double a,double b);
main()
{
double x=2;
double n=10;
printf("\n%d的%d次方为:%d",x,n,A(x,n));
printf("\n%d的%d次方为:%d",x,n,B(x,n)); /*显示就这一句错了*/
}
double A(double a,double b)
{
double i,j=1;
for(i=1;i<=b;i++)
j=j*a;
return j;
}

void B(double a,double b)
{
double pow(double a,double b);
}

错误显示为:
\03\03.c(11) : error C2095: 'printf' : actual parameter has type 'void' : parameter 4

改好了
其中1、B函数应有返回值
2、printf函数中输出双精度浮点型,应用%f
#include <stdio.h>
#include <math.h>
double A(double a,double b);
double B(double a,double b);
main()
{
double x=2;
double n=10;
printf("\n%f的%f次方为:%f",x,n,A(x,n));
printf("\n%f的%f次方为:%f",x,n,B(x,n)); /*显示就这一句错了*/
}
double A(double a,double b)
{
double i,j=1;
for(i=1;i<=b;i++)
j=j*a;
return j;
}

double B(double a,double b)
{
return pow( a, b);
}

double B(double a,double b)
{
return pow(a,b);
}
或者:输出语句中直接调用:

printf("\n%d的%d次方为:%d",x,n,pow(x,n));

1 x和n都是double,在printf中应该是“%lf”,不过这个似乎不太影响这个问题的结果,但仍然要注意
2 double B函数中应该这样写:
return pow(a,b);