如果M = N,我有一个M-by-N多维数组和一个M-times-N大小的一维数组。
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
arr2d[i][j] = arrd1d[i * M + j];
}
}
似乎工作,但我无法解决一般情况。
答案 0 :(得分:2)
正因为如此,我们可以得到正式答案,您正试图从1d数组中访问超出其范围的元素。将i*M
更改为i*N
可以解决问题。
答案 1 :(得分:0)
更改
arr2d[i][j] = arrd1d[i * M + j];
到
arr2d[i][j] = arrd1d[i * N + j];