Golang阵列输入未按预期工作
我已经写了一段简单的代码来读取golang中的数组Golang阵列输入未按预期工作,go,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]) } } 在这里,当我为数组位置0输入值时,它会自动跳转到数组位置2,而不会为数组位置1获取任何值。我无法理解为什么
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])
}
}
在这里,当我为数组位置0输入值时,它会自动跳转到数组位置2,而不会为数组位置1获取任何值。我无法理解为什么会发生这种情况
谢谢您应该在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])
}
}
您应该在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])
}
}
谢谢,它起作用了。但是为什么我们需要在数组元素之前添加&因为它只表示内存的位置。函数中使用了“&”运算符将用户输入的值存储在arr的地址中。谢谢,它起作用了。但是为什么我们需要在数组元素之前添加&因为它只表示内存的位置。函数中使用了“&”运算符将用户输入的值存储在arr的地址中