大神们看看这是什么原因
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
int MERGE_SORT(int* pt,int p,int r);
void MERGE(int* ptr,int p,int q,int r);
void main()
{
int i=0;
int a[]={3,1,4,6,2,9,8,6};
MERGE_SORT(a,0,7);
/*输出数组*/
while(i<=7)
printf("%d",a[i++]);
}
int MERGE_SORT(int* pt,int p,int r)
{
int q=floor((p+r)/2);
if(p=r) return 0;
if(p<r)
{
MERGE_SORT(pt,p,q);
MERGE_SORT(pt,q+1,r);
}
MERGE(pt,p,q,r);
}
void MERGE(int* ptr,int p,int q,int r)
{
int n1=q-p+1;
int n2=r-q;
int *L,*R;
int i,j;
for(i=1;i<n1;i++)
{L[i]=ptr[p+i-1];}
for(j=1;j<n2;i++)
{R[j]=ptr[q+j];}
L[n1+1]=344;
R[n2+1]=344;
int i=1;
int j=1;
int k=0;
for(k=p;k<r;k++)
{
if(L[i]<=R[i])
{ptr[k]=L[i];i=i+1;}
else {ptr[k]=R[i];j=j+1;}
}
}