定义一个字符数组,存储一个字符串。编写一个程序,使用指针反转字符串并输出反转后的结果
时间: 2024-10-07 17:05:44 浏览: 37
在C++中,你可以定义一个字符数组(`char`类型的动态数组)来存储字符串,然后使用指针进行操作来反转这个字符串。这里有一个简单的例子:
```cpp
#include <iostream>
// 函数声明,使用指针反转字符串
void reverseString(char* str);
int main() {
// 定义一个字符数组,包含"Hello, World!"
char str[] = "Hello, World!";
// 输出原始字符串
std::cout << "Original string: " << str << std::endl;
// 反转字符串并输出
reverseString(str);
// 注意:在这里直接打印不会看到反转,因为数组在原地被修改,要重新输出
std::cout << "Reversed string: " << str << std::endl;
return 0;
}
// 反转字符串函数
void reverseString(char* str) {
if (str == nullptr || *str == '\0') {
return; // 如果字符串为空,直接返回
}
char* start = str;
char* end = str + strlen(str) - 1; // 计算字符串末尾
while (start < end) {
// 交换当前字符和末尾字符
char temp = *start;
*start = *end;
*end = temp;
// 移动指针
start++;
end--;
}
}
```
当你运行这段代码时,原始字符串"Hello, World!"会被反转后存储在同一个数组里。由于字符串是在内存中的连续位置上反转的,所以输出前需要再次打印。
阅读全文