doushichun9409
2013-12-25 15:32
浏览 11
已采纳

去操场#23返回问题

http://tour.golang.org/#23

package main

import (
    "fmt"
    "math"
)

func pow(x, n, lim float64) float64 {
    if v := math.Pow(x, n); v < lim {
        return v

    } else {
        fmt.Printf("%g >= %g
", v, lim)
    }
    // can't use v here, though
    return lim
}

func main() {
    fmt.Println(
        pow(3, 2, 10),
        pow(3, 3, 20),
    )
}

why the output is

27 >= 20
9 20

but not

9
27 >= 20 20
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • dtpw54085 2013-12-25 16:00
    最佳回答

    the code for your expected result is

        func main(){
            fmt.Println(pow(3, 2, 10))
            fmt.Println(pow(3, 3, 20))
        }
    

    After all "pow" functions in "fmt.Println" are called, "fmt.Println" prints the results of pows

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题