1.数组元素逆序
#include <stdio.h>
//#define ARRAY_NUM 6
int main()
{
const char ArrayNum = 6;
int i;
int a[ArrayNum] = {1, 2, 3, 4, 5, 6};
int b[ArrayNum] = {0};
Rever(a, ArrayNum, b);
for(i = 0; i<ArrayNum; ++i)
printf("%d\n", b[i]);
return 0;
}
int Rever(int *x, int y, int *z)
{
for (int i = 0; i<y; ++i) //1. i++, i, i=i+1; 2. ++i, i=i+1
z[i] = x[y-1-i];
return 0;
}
输出:
6
5
4
3
2
1
2.数组元素就地逆序
#include <stdio.h>
int main()
{
const char NUM = 6;
int a[NUM] = {0,1,2,3,4,5};
revert(a, NUM);
for(int x = 0; x < NUM; ++x)
printf("%d\n",a[x]);
return 0;
}
int revert(int *a, int n)
{
int i, m = n/2;
int tmp[6] = {0};
for(i = 0; i < m; ++i)
{
tmp[i] = a[i];
a[i] = a[n-i-1];
a[n-i-1] = tmp[i];
}
return 0;
}
输出同上;