请问以下代码为何不能输出正确值?

//输入double数和int数,输出double的int次方
#include<stdio.h>
double power_function(double a,int b);
int main(void)
{
    double a;int b;
    printf("please input a nuber and the power:");
    scanf("%lf %d",&a,&b);
    printf("%lf",power_function(a,b));
}
double power_function(double a,int b)
{
    int i=1;double c=1;
    if(a!=0&&b>0)
    {
        for(;i<b;i++)
        c=c*a;
    }
    if(a!=0&&b<0)
    {
        for(;i<b;i++)
        c=c*a;
        c=1.0/c;
    }
    if(b=0)
    {
        c=1;
    }
    if(a=0&&b!=0)
    {
        c=0;
    }
    return c;
}

 

查看全部
Ch_L_Z
Ch_L_Z
2020/12/03 09:29
  • c语言
  • 微信小程序
  • 小程序
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

2个回复