连接两个数组,实在是想不明白
连接两个数组,实在是想不明白,为什么最后一位出现乱码????#include <stdio.h>
#include<stdlib.h>
int main(void)
{
int a[]={1,3,5,7,9};
int b[]={0,2,4,6,8,10};
int *c;
int len_a=sizeof(a)/sizeof(int);// 5
int len_b=sizeof(b)/sizeof(int);// 6
int len_c=len_a+len_b;//11
int i,j,k;
i=0,j=0,k=0;
c=(int *)malloc(len_c*sizeof(int));
while(i<len_a && j<len_b)
{
if(a[i]<=b[j])
{c[k]=a[i];i++;k++;}
else
{c[k]=b[j];j++;k++;}
}
while(i<len_a)
{c[k]=a[i];k++;i++;}
while(j<len_b)
{c[k]=a[j];k++;j++;}
for(i=0;i<len_c;i++)
printf("%d ",c[i]);
return 0;
}