实现方法
定义两个指针,一个指向字符串起始位置,一个指向末尾。然后进行交换,每进行一次交换后,起始指针加加,末尾指针减减直到不符合p1<p2的情况。
//字符串逆置
void ReStr(char *str)//字符串逆置
{
char *p1 = str;
char *p2 = str + strlen(str) - 1;
while (p1 < p2)
{
char tmp = *p1;
*p1 = *p2;
*p2 = tmp;
p1++;
p2--;
}
}
int main()
{
char str[] = "123456abcdef";
printf("%s\n", str);
ReStr(str);
printf("%s\n", str);
return 0;
}
运行结果