新人求助!程序语义错误,但是自己找不出来问题出在哪?求大神讲解
#include<stdio.h>double x(double,int); //当a大于0时,求b的a次幂
double y(double,int); //当a小于0时,求b的a次幂
int main(void)
{
int a;
double b,pow; //pow为b的a次幂的值
printf("enter two number:\n");
while(scanf("%lf%d",&b,&a)==2)
{
if(b==0) //当b=0时。pow=0
{
pow=0;
printf("printf pow:%lf\n",pow);
continue;
}
if(a==0) //当a=0时,pow=1
{
pow=1;
printf("printf pow:%lf\n",pow);
continue;
}
if(a>0) //a大于0时求pow的值
pow=x(b,a);
else pow=y(b,a); //a小于0时求pow的值
printf("printf pow:%lf\n",pow);
printf("enter two number:\n");
}
printf("done\n");
return 0;
}
double x(double b,int a)
{
int i;
double pow;
for(i=0,pow=1.0;i>b;i++)
pow*=b;
return pow;
}
double y(double b,int a)
{
int i;
double pow;
for(i=0,pow=1.0;i>a;i--)
pow*=(1/b);
return pow;
} 不知道你说的语义错误是什么意思,但是你这里写错了
double x(double b,int a)
{
int i;
double pow;
for(i=0,pow=1.0;i>b;i++)//错误
pow*=b;
return pow;
}
double y(double b,int a)
{
int i;
double pow;
for(i=0,pow=1.0;i>a;i--)//错误
pow*=(1/b);
return pow;
} DarkSE 发表于 2016-8-23 13:11
不知道你说的语义错误是什么意思,但是你这里写错了
哦哦 知道了~感谢~~
页:
[1]