#include<stdio.h>
int main()
{
int inv(int *x,int n);
int a[10]={8,6,5,4,1,15,-3,9,10,-2};
int *p;
printf("原先陣列為:\n");
for(p=a;p<a+10;p++)
printf("%3d",*p);
printf("\n");
p=a;//經過一個for的迴圈後,p已不指向最先的&a[0]了,指向&a[10],而&[10](出界)值不明,為此讓它繼續指向&a[0]
inv(p,10);//呼叫反序函式,共5個元素
printf("反序陣列為:\n");
for(;p<a+10;p++)
}int inv(int *x,int n)//反序函式
int *i,*j,m=(n-1)/2,*p,temp;
i=x;j=x+n-1;p=x+m;
for(;i<=p;i++,j--)//i和j的指標同步相向移動,實現陣列元素的對換
temp=*i;
*i=*j;
*j=temp;
}
return(0);
#include<stdio.h>
int main()
{
int inv(int *x,int n);
int a[10]={8,6,5,4,1,15,-3,9,10,-2};
int *p;
printf("原先陣列為:\n");
for(p=a;p<a+10;p++)
printf("%3d",*p);
printf("\n");
p=a;//經過一個for的迴圈後,p已不指向最先的&a[0]了,指向&a[10],而&[10](出界)值不明,為此讓它繼續指向&a[0]
inv(p,10);//呼叫反序函式,共5個元素
printf("反序陣列為:\n");
for(;p<a+10;p++)
printf("%3d",*p);
printf("\n");
}int inv(int *x,int n)//反序函式
{
int *i,*j,m=(n-1)/2,*p,temp;
i=x;j=x+n-1;p=x+m;
for(;i<=p;i++,j--)//i和j的指標同步相向移動,實現陣列元素的對換
{
temp=*i;
*i=*j;
*j=temp;
}
return(0);
}