这个代码用VC6什么运行不了?提示内存错误!
程序代码:
#include<stdio.h> void change(int *p) { int i,j,temp; int *pmax,*pmin; pmax=p; pmin=p; for(i=0;i<5;i++) for(j=0;j<5;j++) { if(*pmax<*(p+5*i+j))pmax=p+5*i+j; if(*pmin<*(p+5*i+j))pmin=p+5*i+j; } temp=*(p+12); *(p+12)=*pmax; *pmax=temp; temp=*p; *p=*pmin; *pmin=temp; pmin=p+1; for(i=0;i<5;i++) for(j=0;j<5;j++) { if(i==0&&j==0)continue; if(*pmin>*(p+5*i+j))pmin=p+5*i+j; } temp=*pmin; *pmin=*(p+4); *(p+4)=temp; pmin=p+1; for(i=0;i<5;i++) for(j=0;j<5;j++) { if((i==0&&j==0)||(i==0&&j==4))continue; if(*pmin>*(p+5*i+j))pmin=p+5*i+j; } temp=*pmin; *pmin=*(p+20); *(p+20)=temp; pmin=p+1; for(i=0;i<5;i++) for(j=0;j<5;j++) { if((i==0&&j==0)||(i==0&&j==4)||(i==4&&j==0))continue; if(*pmin>*(p+5*i+j))pmin=p+5*i+j; } temp=*pmin; *pmin=*(p+24); *(p+24)=temp; } void main() { int i,a[5][5],*p; printf("请输入一个5*5的矩阵:\n"); for(i=0;i<5;i++) scanf("%d%d%d%d%d",&a[i][0],&a[i][1],&a[i][2],&a[i][3],&a[i][4]); p=a[0][0]; change(p); printf("现在的输出为:\n"); for(i=0;i<5;i++) printf("%4d%4d%4d%4d%4d\n",a[i][0],a[i][1],a[i][2],a[i][3],a[i][4]); }