方法一 用while循环逆序输出数组元素
#include <stdio.h>
#define N 6
main()
{
int arr[] = { 56, 66, 57, 77, 58, 88 };
int * pi1;
int * pi2;
int i;
pi1 = arr;//首元素的地址
pi2 = arr + N - 1;//尾元素的地址
//交换元素的位置
while(pi1 < pi2)
{
int t = 0;
t = *pi1;
*pi1 = *pi2;
*pi2 = t;
pi1++;//首元素向后移动
pi2--;//为元素向前移动
}
//输出数组中逆序后的元素
pi1 = arr;
for(i = 0; i < N; i++)
{
printf("%d\t", *(pi1++));
}
return 0;
}
方法二 用for循环逆序输出
#include <stdio.h>
#define N 6
main()
{
int arr[] = { 56, 66, 57, 77, 58, 88 };
int * pi1;
int * pi2;
int i;
pi1 = arr;//首元素的地址
pi2 = arr + N - 1;//尾元素的地址
//交换两个元素的位置
for( i = 0; i < N / 2; i++)
{
int t = 0;
t = *pi1;
*pi1 = *pi2;
*pi2 = t;
pi1++;
pi2--;
}
return 0;
}