C语言中可以使用指针来实现字符串逆置。下面是一种实现方式:
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
int length = strlen(str);
char *start = str; // 指向字符串的起始位置
char *end = str + length - 1; // 指向字符串的结束位置
// 交换起始位置和结束位置的字符,并同时向中间移动指针
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverseString(str);
printf("Reversed string: %s\n", str);
return 0;
}
运行结果:
Original string: Hello, World!
Reversed string: !dlroW ,olleH
在上述代码中,reverseString
函数接受一个指向字符串的指针,通过使用两个指针start
和end
来交换字符串中对应位置的字符。初始时,start
指向字符串的起始位置,end
指向字符串的结束位置。然后通过循环将start
指针向右移动一位,将end
指针向左移动一位,并交换它们所指向的字符,直到start
和end
指针相遇为止。最后,字符串中的字符就被逆置了。