拉布拉多拉多不多斯基
2021-07-20 12:22
采纳率: 100%
浏览 44

c语言初级问题请教!

如下递归函数,为什么pow必须赋初值1?

double power(double n, int p)
{
double pow=1;//必须赋给初值1
if(p >0)
pow = n*power(n,p-1);

return pow;

}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • CSDN专家-sinjack 2021-07-20 12:24
    已采纳

    初始值。指数的次数值最小就是1。
    当p>0的时候不满足条件,返回的值就是1了。

    已采纳该答案
    1 打赏 评论
  • Jason416就是我 2021-07-20 12:59

    这样写你就懂了,if (pow <=0) pow = 1; else xxx; return pow;

    打赏 评论

相关推荐 更多相似问题