求详细解释代码

-BearWolf 2014-03-19 01:06:16
double mypower(double base, int exp)
{
double power = 1;
if (exp < 0)
power = 1/mypower(base, -exp);//递归调用函数
else if (exp > 0)
while(exp-- > 0)//循环次数为exp
power *= base;//循环阶乘
else if(base != 0)
power = 1;
else
power = 1/base;//0的0次幂应是一个无意义数
return power;
}

这段代码中的if else语句到底是怎么执行的,求详细的解释。
...全文
93 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
-BearWolf 2014-03-19
  • 打赏
  • 举报
回复
引用 1 楼 JiMoKuangXiangQu 的回复:
建议: 1. 单步调试。 2. 在代码中间插入打印语句。
恩恩好
max_min_ 2014-03-19
  • 打赏
  • 举报
回复

double mypower(double base, int exp)
{
    double power = 1;
    if (exp < 0)
        power = 1/mypower(base, -exp);//递归调用函数 
    else if (exp > 0)
        while(exp-- > 0)//循环次数为exp 
            power *= base;//循环阶乘 
    else if(base != 0)
         power = 1;
    else
            power = 1/base;//0的0次幂应是一个无意义数
    return power;
}
递归而已。。
JiMoKuangXiangQu 2014-03-19
  • 打赏
  • 举报
回复
建议: 1. 单步调试。 2. 在代码中间插入打印语句。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧