实现功能:将数组内容前后翻转;
程序如下:
#include <stdio.h>
int main() //arr[i]====*(arr+i)
{
int arr[10] = {1,2,3,4,5,6,7,8,9,0};
int i = 0;
//翻转
int l = 0;
int r = sizeof(arr)/sizeof(arr[0])-1;
while(l < r)
{
int tmp = arr[l];
arr[l] = arr[r];
arr[r] = tmp;
l++;
r--;
}
for(i = 0;i<sizeof(arr)/sizeof(arr[0]);i++)
{
printf("%d ",arr[i]);
}
return 0;
}
亦可:
#include <stdio.h>
int main()
{
int i = 0;
int arr[10] = {1,2,3,4,5,6,7,8,9,0};
int *l = &arr[0];
int *r = &arr[(sizeof(arr)/sizeof(arr[0]))-1];
while(l < r)
{
int tmp = *l;
*l = *r;
*r = tmp;
*l++;
*r--;
}
for(i = 0;i < sizeof(arr)/sizeof(arr[0]);i++)
{
printf("%d ",arr[i]);
}
return 0;
}
此法是用指针实现的