#include <stdio.h>
// 指针操作数组之 -- 一维数组的元素逆序
int main(void)
{
int const LEN = 6;
int nums[] = {1,3,9,2,5,7};
int * p_begin = nums; // 特别注意:这里是给 p_begin 赋值,而不是给 *p_begin 赋值!
int * p_end = &nums[LEN - 1];
int temp = -1;
// printf("len = %d\n",(p_end - p_begin)); // 4
printf("逆序前的数组是:");
for(int i=0; i<LEN; i++)
{
printf("%d ",*(nums+i));
}
// 执行逆序操作
while(p_begin -p_end<0)
{
temp = *p_begin;
*p_begin = *p_end;
*p_end = temp;
p_begin +=1;
p_end -=1;
}
printf("\n逆序后的数组是:");
for(int i=0; i<LEN; i++)
{
printf("%d ",*(nums+i));
}
return 0;
}
console log:
逆序前的数组是:1 3 9 2 5 7
逆序后的数组是:7 5 2 9 3 1