比如:char arr[ ]="abcdef";逆序之后数组的内容变成:fedcba
a b c d e f \0
1.交换a和f
2.逆序中间的bcde
1.交换b和e
2.逆序中间的cd
1.交换c和d
2.c和d之间有一个元素或者没有元素就停止
#include <string.h>
void Reverse(char* ps)
{
int len = strlen(ps);
int right = len - 1;
//1.
char tmp = ps[0];
//2.
ps[0] = ps[right];
//3.
ps[right] = '\0';
//4.
if (strlen(ps + 1) >= 2)//从ps+1往后看如果还有至少两个字符
Reverse(ps + 1);
//5.
ps[right] = tmp;
}
int main()
{
char str[] = "abcdef";
Reverse(str);
printf("%s\n",str);
return 0;
}