运行正常,但是有很多警告,请大侠给完善一下
#include<stdio.h>void process(int (*p)[5])
{
int i,j,k,m,*max,*min[25];
max=*p;
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
if((*(p+i)+j)>*max) max=*(p+i)+j;
k=*(*(p+2)+2);
*(*(p+2)+2)=*max;
*max=k;
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
min[i*5+j]=*(p+i)+j;
for(i=0;i<=3;i++)
{
k=i;
for(j=i+1;j<=24;j++)
if(*min[j]<*min[k]) k=j;
if(k!=i)
{
m=min[i];min[i]=min[k];min[k]=m;
}
}
k=**p;**p=*min[0];*min[0]=k;
k=*(*p+4);*(*p+4)=*min[1];*min[1]=k;
k=**(p+4);**(p+4)=*min[2];*min[2]=k;
k=*(*(p+4)+4);*(*(p+4)+4)=*min[3];*min[3]=k;
}
void main()
{
int i,j,*p,a[5][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25};
p=a;
process(p);
for(i=0;i<=4;i++)
{for(j=0;j<=4;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}