#include <stdio.h>
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p,i; //指针变量
p=a; //将数组和a的首地址赋给指针变量啊;p=a[0];
inv(p,10);
printf("交换后的元素:");
for(i=0;i<10;i++)
{
printf("%3d",*(p+i)); //p+i表示的是数组元素中下标为i的地址,*(p+i)表示下标为i的元素
}
}
int inv(int *pa,int n)
{
int m,temp;
int *p,*pi,*pj; //用实参指针变量;
m = (n-1) / 2; //表示数组中中间值
pi = pa; //把指真pa首地址赋给pi
pj = pa+n-1; //指针pj的初值
p = pa + m;
for(pi = pa; pi <= p; pi++, pj--) //实现首尾交换
{
temp = *pi;
*pi = *pj;
*pj = temp;
}
return 0;
}
哪不明白可以问我哦
温馨提示:内容为网友见解,仅供参考