求助求助 为什么在fun1里面输出和传回来的输出不一样
#include<stdio.h>
int fun1(int *p)
{
int i;
int b[3]={0};
int *m=NULL;
for(i=0;i<3;i++)
{
b[i]=(*(p+3*i)+*(p+3*i+1)+*(p+3*i+2))/3;
}
m=b;
for(i=0;i<3;i++)
{
printf("%d ",*(m+i));
}
printf("\n");
return m;
}
int main()
{
int *p=NULL;
int b[3]={0};
int i;
int *n=NULL;
int a[3][3]={1,2,3,
4,5,6,
7,8,9};
p=a;
n=fun1(p);
for(i=0;i<3;i++)
{
printf("%d ",*(n+i));
}
printf("\n");
}
输出是
2 5 8
2 3 1