使用指针将二维数组转换为一维数组为什么不成功,结果显示不出来
3条回答 默认 最新
- 浪客 2022-12-16 17:55关注
你现在是按行的,方向错了,要用2个循环,按列赋值给数组b,要保证b数组足够大。j<m*n,=越界了。
void fun(int a[][4], int *b, int m, int n) { int *p = &a[0][0]; for (int i = 0; i < n; i++) // 列 { for (int j = 0; j < m; j++) // 行 { *b = *((p + j * n) + i); b++; } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录