我正在尝试创建一个在C语言中从一个二维数组到另一个数组复制数字的程序,但要特别注意(见图片)。
代码:
int main(){
int numbers[6][8] = {
{1,1,1,1,1,1,1,1},//0
{2,2,2,2,2,2,2,2},//1
{3,3,3,3,3,3,3,3},//2
{4,4,4,4,4,4,4,4},//3
{5,5,5,5,5,5,5,5},//4
{6,6,6,6,6,6,6,6} //5
};
int output[2*8][3];
for(int i = 0; i < 3; i++){
for(int j = 0; j < 2*8; j++){
output[j][i] = numbers[i][j];
}
}
for(int j = 0; j < 2*8; j++){
for(int i = 0; i < 3; i++){
printf("%d ", output[j][i]);
}
printf("\n");
}
}
我的输出:
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
2 3 4
2 3 4
2 3 4
2 3 4
2 3 4
2 3 4
2 3 4
2 3 4
但是这样不好。
输出应该像这样:
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
1 2 3
4 5 6
4 5 6
4 5 6
4 5 6
4 5 6
4 5 6
4 5 6
4 5 6
问题在于我输出的第二部分中有来自第1、2和3行的数字(来自数字数组)。但它本应该是第3、4和5行。