第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么我的循環(huán)不按照描述的順序執(zhí)行命令

為什么我的循環(huán)不按照描述的順序執(zhí)行命令

Go
梵蒂岡之花 2022-12-19 10:37:09
現(xiàn)在我正在努力學(xué)習(xí)圍棋。我有代碼:package mainimport (    "bufio"    "fmt"    "os")func main() {    var wallCount int    var width, height, area float64    var r = bufio.NewReader(os.Stdin)    fmt.Print("WallCount:")    fmt.Scanf("%d", &wallCount)    fmt.Printf("wallcount =  %v \n", wallCount)    for x := 1; x <= wallCount; x++ {        fmt.Printf("wight, height at %v times\n", x)        fmt.Fscanf(r, "%d %d", &width, &height)        area += width * height    }    fmt.Printf("area =  %v\n", area)}當(dāng)我編譯代碼時(shí)在終端上:WallCount:進(jìn)入第 4 學(xué)期WallCount:4---wallcount =  4wight, height at 1 timeswight, height at 2 times傳遞到第 1,1 項(xiàng)WallCount:4wallcount =  4wight, height at 1 timeswight, height at 2 times1,1---wight, height at 3 timeswight, height at 4 timesarea =  0你能解釋一下嗎為什么我for loops運(yùn)行第一個(gè) cmd 兩次,然后運(yùn)行第二個(gè) cmd,然后再次運(yùn)行第一個(gè) cmd 兩次,最后運(yùn)行最后一個(gè) cmd?為什么area包含 0 ?
查看完整描述

1 回答

?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

這里有一些問(wèn)題。首先,您使用%d了表示整數(shù)值的 ,而您使用的是浮點(diǎn)值(使用%f)。


此函數(shù):fmt.Fscanf(r, "%d %d", &width, &height)返回兩個(gè)值。第一個(gè)值是它成功解析的項(xiàng)目數(shù),第二個(gè)值是一個(gè)錯(cuò)誤。您應(yīng)該始終檢查返回的錯(cuò)誤是否不是nil,這意味著有錯(cuò)誤:


func main() {

    var wallCount int

    var width, height, area float64

    var r = bufio.NewReader(os.Stdin)

    fmt.Print("WallCount:")

    fmt.Scanf("%d", &wallCount)

    fmt.Printf("wallcount =  %v \n", wallCount)

    for x := 1; x <= wallCount; x++ {

        fmt.Printf("wight, height at %v times\n", x)

        _, err := fmt.Fscanf(r, "%f %f\n", &width, &height)

        if err != nil {

            log.Println(err)

            return

        }

        area += width * height

    }


    fmt.Printf("area =  %v\n", area)

}

在這種情況下,錯(cuò)誤非常清楚地描述出了什么問(wèn)題,即:bad verb '%d' for float64。在 go 中,這種檢查錯(cuò)誤是否為 nil 的形式非常常見(jiàn),您應(yīng)該始終檢查錯(cuò)誤。


查看完整回答
反對(duì) 回復(fù) 2022-12-19
  • 1 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)