c语言字符串逆序存放指针
时间: 2024-12-03 09:15:09 浏览: 24
字符串逆序-使用C语言+递归实现字符串逆序.zip
在C语言中,要实现字符串逆序存放,可以使用两个指针,一个指向字符串的开头(通常称为`start`),另一个指向字符串的结尾(通常称为`end`)。然后通过循环,每次交换这两个指针所指向的字符,直到它们相遇或交叉。
以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void reverse(char* str) {
if (str == NULL || *str == '\0') {
return;
}
char start = *str; // 初始化指向第一个字符
char end = str[strlen(str) - 1]; // 初始化指向最后一个字符
while (start < end) { // 当start小于end时,继续交换
char temp = start;
start = end;
end = temp;
// 逐个字符地交换位置
start++;
end--;
}
// 将反转后的字符放回原数组
str[strlen(str) - 1] = start;
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
在这个例子中,函数`reverse`会修改传入的字符串`str`,使其内容变为逆序。运行上述程序,原始字符串"Hello, World!"会被反转为 "!dlroW ,olleH"。
阅读全文