利用指针数组实现字符串反转
时间: 2023-10-26 10:26:03 浏览: 99
可以使用指针数组来实现字符串反转。首先,通过指针数组将字符串的每个字符存储在不同的指针中。然后,通过交换指针的位置来实现字符串的反转。
以下是一个使用指针数组实现字符串反转的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int length = strlen(str);
// 创建一个指针数组,每个指针指向原字符串中的一个字符
char* ptrArray[length];
for (int i = 0; i < length; i++) {
ptrArray[i] = &str[i];
}
// 使用双指针法交换指针的位置实现字符串反转
int start = 0;
int end = length - 1;
while (start < end) {
char* temp = ptrArray[start];
ptrArray[start] = ptrArray[end];
ptrArray[end] = temp;
start++;
end--;
}
// 输出反转后的字符串
printf("Reversed String: ");
for (int i = 0; i < length; i++) {
printf("%c", *ptrArray[i]);
}
printf("\n");
}
int main() {
char str[] = "Hello, World!";
printf("Original String: %s\n", str);
reverseString(str);
return 0;
}
```
运行以上代码,输出结果如下:
```
Original String: Hello, World!
Reversed String: !dlroW ,olleH
```
这样就利用指针数组成功实现了字符串的反转。
阅读全文