2017-08-02 10 views
0

私はgolangにアレイを読み取るためのコードの単純な部分を書いた期待どおりに動作していないこれは、出力の下方に生成され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の場合、配列位置1の値を取らずに配列位置2に自動的にジャンプします。なぜ起こっているのか理解できません。我々はそれが唯一のメモリのpoisitionを表すよう配列要素の前に追加&する必要がある理由あなたが編曲:前に '&' を追加する必要があります

おかげ

答えて

2

[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]) 
    } 

} 
+0

おかげで、それがworked.But。 –

+0

ユーザー入力値をarrのアドレスに格納する関数に '&'演算子が使用されました https://stackoverflow.com/a/3440480/8284461 –

関連する問題