将数组a中n个整数按相反顺序存放(指针)
(2018-02-03 23:34:21)分类: C练习 |
#include
int main()
{
int a[10]={3,7,9,11,0,6,7,5,4,2};
int i;
int change(int *x,int n);//形参为指针变量
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
change(a,10);//调用函数
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
int change(int *x,int n)
{
int *p,*k,i,y;
for(i=0,p=x,k=x+n-1;i<=(n-1)/2;i++,p++,k--)
{
y=*p;
*p=*k;
*k=y;
}
}
注意是存放,然后用函数传递数组,形参是指针变量,指针变量直接交换的是地址,即使函数中的形参是在函数结束后就不存在的,所以通过指针就可以交换数组,并且在函数执行结束后还可以保存。(认识指针的方便)