如果是单元格赋值的话,没有必要经过数组,直接将两个range内的单元格赋值给arr3就好了
subarr3()
dimrg1,rg2,rg3asrange
dimarr3
setrg1=worksheets("sheet1").range("a4:c4")
setrg2=worksheets("sheet1").range("d5:f5")
setrg3=worksheets("sheet1").range(cells(7,1),cells(7,rg1.countrg2.count))
redimarr3(1torg1.countrg2.count)
i=1
foreachcellinrg1
ifi<=rg1.countthen
arr3(i)=cell.value
i=i1
endif
next
foreachcellinrg2
ifi<=rg1.countrg2.countthen
arr3(i)=cell.value
i=i1
endif
next
rg3=arr3
endsub
运行的结果如下:
代码示例:
intmain(intargc,char*argv[])
{
inta[2][3]={1,2,3,4,5,6}
intb[2][3]={7,8,9,3,2,1}
inti,j
intc[12]//c是个数组哈
intk=0
printf("thearrayis:")
//你已经有a和b了不用再输入了,这样输入也不对
//for(i=0i<6i)
//scanf("%d",&a)
//for(i=0i<6i)
//scanf("%d",&b)
//printf("n")
//把二维的放到一个一维数组里面,二维数组双循环
for(i=0i<2i)
for(intj=0j<3j)
{
c[k]=a[i][j]
}
for(i=0i<2i)
for(intj=0j<3j)
{
c[k]=b[i][j]
}
printf("now,thearrayis:n")
for(i=0i<12i)
{
printf("%d",c[i])
if((i1)%4==0)
printf("n")
}
return0
}
intmain(){chara[]="123456"charb[]="abcde"intbuflen=strlen(a)strlen(b)char*p=(char*)malloc(buflen1)memset(p,0,buflen)printf("%dn",buflen)strcpy(p,a)strcat(p,b)printf("%sn",p)free(p)}c的数组在创建后不可变得,因此数组合并的思想就是把数组塞到一个足够大的空间里形成新数组。上面的函数是比较简单的合并方法