合并两个数组而不使用数组进行排序

我试图合并到数组而没有排序(添加一个然后另一个)使用指针方法,但它只是打印第一个数组,然后打印垃圾值。 我想要做的只是在一个大数组中组合2个数组。 无需排序(至少目前为止)。

void getarray(int*,int); int merge(int*,int*,int,int,int*); main() { int a[10],b[10],c[20]; int i,j,n,m,size; clrscr(); printf("Enter no. of elements in FIRST array: "); scanf("%d",&n); getarray(a,n); printf("Enter no. of elements in SECOND array: "); scanf("%d",&m); getarray(b,m); merge(a,b,n,m,c); printf("\nMerged Array: \n"); for(i=0;i<n+m;i++) { printf("\t%d\t",c[i]); } getch(); return 0; } void getarray(int *x, int y) { int i; for(i=0;i<y;i++) { scanf("%d",x+i); } } int merge(int *a, int *b,int n,int m,int *c) { int i,j; for(i=0;i<n;i++) { *(c+i) = *(a+i); } for(j=i;j<i+m;j++) { *(c+j) = *(b+j); } } 

 int merge(int *a, int *b,int n,int m,int *c) { int i,j; for(i=0;i 

或者你可以使用(假设c足够大):

 void merge(int *a, int *b,int n,int m,int *c) { memcpy(c, a, sizeof(int)*n); memcpy(c+n, b, sizeof(int)*m); } 

你需要包含string.h