#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

本文介绍了一种使用指针操作数组的方法,实现了一维数组的元素逆序。通过定义两个指针分别指向数组的首尾,并逐步交换它们所指的元素来完成逆序过程。
993

被折叠的 条评论
为什么被折叠?



