在Codeblocks下實現,如果題主用VC6編輯器的話,對相關變量聲明等進行微調即可:
#include?<stdio.h>#include?<stdlib.h>
void?swap(int?*p1,int?*p2,int?n)
{
int?temp;
for(int?i=0;i<n;i++)
{
temp=*(p1+i);
*(p1+i)=*(p2+i);
*(p2+i)=temp;
}
printf("Swap?finished!\n");
}
int?main()
{
int?a[5][5]={0};
int?(*p)[5];
p=a;
for(int?i=0;i<5;i++)
{
for(int?j=0;j<5;j++)
{
*(*(p+i)+j)=rand()%32;
}
}
printf("Initial?Array:\n");
for(int?i=0;i<5;i++)
{
for(int?j=0;j<5;j++)
{
printf("%3d?",*(*(p+i)+j));
}
putchar('\n');
}
printf("Input?Line?for?swap:\n");
int?m,n;
scanf("%d%d",&m,&n);
if(m>4||n>4||m<0||n<0)
{
printf("Error?Para!\n");
return?-1;
}
swap(*(p+m-1),*(p+n-1),5);
for(int?i=0;i<5;i++)
{
for(int?j=0;j<5;j++)
{
printf("%3d?",*(*(p+i)+j));
}
putchar('\n');
}
return?0;
}
測試效果如下: