数组反向,只要将第一位和最后一位交换,第二位和倒数第二位交换,第三位。。。。。。
这样就可以实现数组内容反向存储。
注意:我代码中交换用^=只是小技巧,效果等同于使用变量交换,如果是字符数组不要用这个方法交换。
#include <
stdio.h>
#define N 10
void antitone(int a[],int n);
int main()
{
int n=N,a[N],*p=a;
while(n--)
scanf("%d",p++);
antitone(a,N);
return 0;
}
void antitone(int a[],int n)
{
int *pb=a,*pe=&a[n-1];
while(pb<pe)//将数组内容反向存储
{
*pb^=*pe,*pe^=*pb,*pb^=*pe;
pb++;
pe--;
}
pb=a;//打印数组
printf("反向后:");
while(n--)
printf("%d ",*pb++);
printf("\n");
}