先看代码#include<stdio.h>
void reverse(int arr[],int left,int right)
int main()
{
if(left>right)
{
return;
}
int tmp=arr[left];
arr[left]=arr[right];
arr[right]=tmp;
reverse(arr,left+1,right—1);
}
int arr[]={0,1,2,3,4,5,6,7,8,9};
reverse(arr,0,9);
for(int i=0;i<10;i++)
{
printf("%d",arr[i]);
}
return 0;
定义了一个整形的数组arr 然后进入自定义函数reverse 里面传参了arr 还有0和9
如果left大于right结束递归结束
int tem给上arr left下标 所以说tem是0
arr left等于arr right 所以说arr left等于arr right 所以说arrleft变成9
最后让arr right变成tmp right变成0交完完成
然后left加1 right减一
传进去 arrleft和right下表也进