echo power(2,10); //out 1024怎么看都对

解决方案 »

  1.   

    我认为应该用else,应该这样写:
    function power($base,$exp)
    {
       if($exp)
       {
          return $base*power($base,$exp-1);
        }
        else
        {
        return 1;
        }
    }
      

  2.   

    if($exp) {
      return $base*power($base,$exp-1);
    }
    return 1; //当$exp>0时,已经return $base*power($base,$exp-1);了。那么剩下的不也就是else吗?
      

  3.   

    我晕了,return 1;不管$exp是什么直都要制行的呀!!!
      

  4.   

    呵,,都已经RETURN了,就是说函数都已经结束了,,如果$EXP不等于0,那么永远也不会执行到
    RETURN 1 这句啦 。。
      

  5.   

    函数执行到return处就结束了,不会再向下执行