代码如下:
#include<stdio.h>
#include<string.h>
void reverse(char* str)
{
//指针变量分别指向第一个和最后一个元素,借助中间变量temp进行交换。
char* left = str;
char* right = str + strlen(str) - 1;
while (left < right)
{
char temp = *left;
*left = *right;
*right = temp;
//一趟交换完成之后交换下一对,两个指针变量逐渐向中心靠近。
++left;
--right;
}
}
int main()
{
char a[] = "abcdef";
reverse(a);
char* p = a;
for (;*p != '\0';p++)
{
printf("%c", *p);
}
return 0;
}
运行结果如下: