1、先定义两个二维数组,一个横纵坐标范围都是0-60,一个是0-80;合并后的数组的范围应该是
0-140,在新数组的前60*60中存放的第一个数组,在60到140之间存放第二个数组。
2、数组合并是要注意新数组的容量,避免两个数组相加后新数组无法容纳。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define a 60
#define b 60
//宏定义(a,b)坐标容量
#define c 80
#define d 80
//宏定义(c,d)坐标容量
int main()
{
char arr1[a][b] = {0};//数组1
char arr2[c][d] = {0};//数组2
char arr3[a + c][b+d] = {0};
//数组3=数组1+数组2,容量相加
int i;
int j;
for (i = 0; i < a; i++)
{
arr1[i] [0] = i;
for (j = 0; j < b; j++)
{
arr1[i][j] = j;//在数组1的横纵坐标存放0-59
}
}
for (i = 0; i < c; i++)
{
arr2[i][0] = i;
for (j = 0; j < d; j++)
{
arr2[i][j] = j;//在数组1的横纵坐标存放0-80
}
}
for (i = 0; i <a; i++)
{
arr3[i][0] = arr1[i][0];
for (j = 0; j <b; j++)
{
arr3[i][j] = arr1[i][j];//将数组1存放在数组3中
}
}
for (i = 0; i<c; i++)
{
arr3[a+i][0] = arr2[i][0];
for (j = 0; j < d; j++)
{
arr3[a+i][b+j] = arr2[i][j];//将数组2拼接在数组1后面
}
}
printf("%3d",arr3[80][80]);
return 0;
}
如有问题,还望指正。