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
指針相遇為止。最后,字符串中的字符就被逆置了。