求助!调用数组时数组值发生变化
#include<stdio.h>#include<math.h>
int main()
{
int a[5]={1,2,3,4,5},b[6]={1,2,3,4,5,6};
int c[9],*p;
p=c;
void xcorr(int a[],int la,int b[],int lb,int l,int *p);
xcorr(a,5,b,6,6,p);
for(int i=0;i<13;i++)
printf("%d ",c[i]);
return 0;
}
void xcorr(int a[],int la,int b[],int lb,int l,int *p)//求互相关,la,lb为数组a,b的长度
{int max(int a,int b);
int min(int a,int b);
int i,j;
for(i=-1*l;i<=l;i++)
{
*(p+i+l)=0;
if(max(0,i)<min(la,i+lb))
for(j=max(0,i);j<min(la,i+lb);j++)//使数组内各值存在
{*(p+i+l)+=a[j]*b[j-i];//求互相关公式
printf("%d %d ",j-i,b[j-i]);}//为显示数值发生变化
printf("\n");
}
}
int max(int a,int b)
{int c;
c=(a>b)?a:b;
return c;
}
int min(int a,int b)
{int c;
c=(a<b)?a:b;
return c;
}
运行后数组b的值发生变化,请高手指导