亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go Lang 打印輸入數組

Go Lang 打印輸入數組

Go
蠱毒傳說 2021-08-10 20:41:18
我現在正在學習 Go lang,在嘗試打印輸入的數組時遇到了問題。我的代碼是這樣的:package mainimport (    "fmt")func main() {    var n int    fmt.Scan(&n)    set(n)}func set(n int) {    a := make([]int, n)    for i := 0; i < n; i++ {        fmt.Scan(&a[i])    }    for y := 0; y < n; y++ {        fmt.Println(a[y])    }    return}我的問題是當輸入一個數字作為數組的大小時,該數字也總是被打印出來。就像我輸入 8 作為數組大小然后輸入數組值例如 10 9 8 7 6 5 4 3 然后我得到錯誤的輸出:8 10 9 8 7 6 5 4.Iit 應該是 10 9 8 7 6 5 4 3.
查看完整描述

3 回答

?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

package main

import ("fmt")

func main() {

  var n int

  fmt.Scan(&n)

  set(n)

}


func set(n int) {

  a := make([]int, n)

  for i := 0; i < n; i++ {

      fmt.Scan(&a[i])

    }

  fmt.Println(a)

 }


查看完整回答
反對 回復 2021-08-10
?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

還不能復制問題。對于例如:


package main


import (

    "bytes"

    "fmt"

    "io"

)


func main() {

    var n int

    sampleInput := bytes.NewBufferString("3 1 2 3")

    fmt.Fscan(sampleInput, &n)

    set(sampleInput, n)

}


func set(input io.Reader, n int) {

    a := make([]int, n)

    for i := 0; i < n; i++ {

        fmt.Fscan(input, &a[i])

    }

    for y := 0; y < n; y++ {

        fmt.Println(a[y])

    }

    return

}

是您程序的變體。它具有預期的行為:它打印讀取到切片中的數字 1 2 3。


查看完整回答
反對 回復 2021-08-10
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

i:=0

var a[5] int

for(i<5){

fmt.Print("Enter Input")

var input int

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

a[i]=input

i+=1

}

fmt.Print(a)

這似乎對我有用。請參考。


查看完整回答
反對 回復 2021-08-10
  • 3 回答
  • 0 關注
  • 604 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號