又见三土 发表于 2021-6-3 19:42:44

见代码

int main()
{
        double x = 2.0, y = -3.0,c;
        c=power(x, y);
       
        printf("%lf raised to %lf is %lf\n",x,y,c);\\调试了下,下面的函数没问题,为什么这里打印出来是0
        return 0;
}

int power (double x, double y)
{
        double z=1;
        if(y>=0)
        {
                for(y;y>0;y--)
                {
                        z*=x;
                }
        }
        else
        {
                for(y;y<0;y++)
                {
                        z*=1.0/x;
                }
        }
        return z;
}

lei1996 发表于 2021-6-3 19:51:55

int power (double x, double y)返回值类型改成double就好了

万千只cnm 发表于 2021-6-3 20:07:19

1 ,int power (double x, double y)
返回值改double   
2.返回值不是int 要先声明 不然要在调用前定义不然会报错   。
   最好养成习惯都先 文件开头声明函数原型
3注释是//   
页: [1]
查看完整版本: 见代码