dtdsbakn210537 2017-08-02 04:18
浏览 3
已采纳

Golang数组输入未按预期工作

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("
Enter %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条回答 默认 最新

  • drtzb06222 2017-08-02 04:35
    关注

    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("
    Enter %d:", i)
        fmt.Scanf("%d", &arr[i])
      }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 vue3加ant-design-vue无法渲染出页面
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序