Golang数组输入无法按预期工作

时间:2017-08-02 04:18:25

标签: go

我在golang中编写了一段简单的代码来读取数组

func main(){
  var n int
  fmt.Scanf("%d", &n)
  var arr [200] int

  for i := 0; i < n; i++ {
    fmt.Printf("\nEnter %d:", i)
    fmt.Scanf("%d", arr[i])
  }

}

生成以下输出:

go run array_input.go 
5

Enter 0:1

Enter 1:
Enter 2:2

Enter 3:
Enter 4:4

这里当我为数组位置0输入值时,它会自动跳转到数组位置2,而不会为数组位置1取任何值。我无法理解为什么会发生这种情况。

由于

1 个答案:

答案 0 :(得分:4)

你应该添加&#39;&amp;&#39;在arr [i]

之前
func main(){
  var n int
  fmt.Scanf("%d", &n)
  var arr [200] int

  for i := 0; i < n; i++ {
    fmt.Printf("\nEnter %d:", i)
    fmt.Scanf("%d", &arr[i])
  }

}