英文:
Golang array input not working as expected
问题
我写了一段简单的代码来读取 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 输入任何值。我不明白为什么会这样发生。
谢谢。
英文:
I have a written a simple piece of code to read array in 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])
}
}
It is generating below output:
go run array_input.go
5
Enter 0:1
Enter 1:
Enter 2:2
Enter 3:
Enter 4:4
Here when I enter value for array location 0, it automatically jumps to array location 2 without taking any value for array location 1. I am not able to understand why it is happening.
Thanks
答案1
得分: 4
你应该在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])
}
}
英文:
You should add '&' before 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])
}
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论