当前位置: > > > > 创建具有所需维度和值的矩阵的 Go 函数会跳过所有其他索引
来源:stackoverflow
2024-04-25 12:00:31
0浏览
收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《创建具有所需维度和值的矩阵的 Go 函数会跳过所有其他索引》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
问题内容
我正在尝试编写一个函数来创建一个矩阵,用户可以在其中输入矩阵的维度以及其中的值。我设法得到了结果,但我注意到,在输入值时,该函数会忽略每两个索引之一并用 0 填充它。我正在绞尽脑汁,但这对我来说没有意义…
package main import "fmt" func makeMatrix(n int, m int) [][]int { matrix := make([][]int, n) for i := range matrix { matrix[i] = make([]int, m) } fmt.Println("Enter elements : ") for i := range matrix { fmt.Scanf("%d", &matrix[i]) for j := range matrix[i] { fmt.Scanf("%d", &matrix[i][j]) } } fmt.Println(matrix) return matrix } func main() { var ( n, m int ) fmt.Println("Number of lines : ") fmt.Scan(&n) fmt.Println("Number of columns: ") fmt.Scan(&m) makeMatrix(n, m) }
正确答案
删除此行,它应该按您的预期工作。
fmt.Scanf("%d", &matrix[i])
您已经在 matrix[i][j]
上执行 Scanf,它将读取 i
的每次迭代和 j
的每次迭代 – 您不需要在 matrix[i]
上读取/Scanf。
终于介绍完啦!小伙伴们,这篇关于《创建具有所需维度和值的矩阵的 Go 函数会跳过所有其他索引》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~公众号也会发布Golang相关知识,快来关注吧!