九九指针数组排列问题咋搞呀

img

img


不晓得哪里错了helphelp,大家康康咋回事,C语言入门我要无了

img

解答如下

#include<stdio.h>
int main()
{
    int x[]= {0,1,3,8,8,25,30,36,40,50};
    int y[]= {-5,-1,2,5,25,32,35,38};
    int len1,len2,i,j,k,tem;
    len1=sizeof(x)/sizeof(int);
    len2=sizeof(y)/sizeof(int);
    int merge[len1+len2],h=0,l=0,r=0;
    for(j=0; j<len1+len2; j++)
    {
        if(l==len1)
        {
            merge[h++]=y[r++];
            continue;
        }
        if(r==len2)
        {
            merge[h++]=x[l++];
            continue;
        }
        if(x[l]<y[r])
            merge[h++]=x[l++];
        else
            merge[h++]=y[r++];
    }
    for(j=0; j<len1+len2; j++)
        printf("%d ",merge[j]);
    return 0;
}

你这个数组x已经越界访问了,后面那些都是脏数据