C++ 实现字符串反转:std::reverse 与双指针方法详解
在C++中,你可以使用标准库中的`std::reverse`函数来反转字符串。以下是一个简单的示例: ```cpp #include <iostream> #include <algorithm> int main() { std::string str; std::cout << "Enter a string: "; std::cin >> str; // 使用std::reverse函数反转字符串 std::reverse(str.begin(), str.end()); std::cout << "Reversed string: " << str << std::endl; return 0; } ``` 在这个程序中,我们首先从用户那里获取一个字符串,然后使用`std::reverse`函数将字符串的顺序反转,最后打印出反转后的字符串。 如果你不能使用`std::reverse`,你也可以使用双指针的方法来手动反转字符串: ```cpp #include <iostream> int main() { char str[100]; std::cout << "Enter a string: "; std::cin.getline(str, 100); int len = strlen(str); for (int i = 0; i < len / 2; i++) { char temp = str[i]; str[i] = str[len - i - 1]; str[len - i - 1] = temp; } std::cout << "Reversed string: " << str << std::endl; return 0; } ``` 这个程序首先读取一个字符串,然后通过交换首尾字符的方式逐步反转字符串,直到中间位置。注意,这种方法只适用于长度为奇数的字符串,如果字符串长度为偶数,它会跳过中间的字符。对于所有长度的字符串,最好使用`std::reverse`函数。 ######[AI写代码神器 | 360点数解答 | 2024-07-21 08:57:45]
- C 语言代码检查:修正字符串反转与回文判断代码问题(阿里通义 | 655点数解答 | 2024-11-08 21:54:45)296
- Java 实现计算机硬件模拟:从 PCI 设备到主板、计算机的启动与关闭(字节豆包 | 716点数解答 | 2024-12-08 23:38:38)348
- Java 代码:模拟计算机主板启动与关闭 PCI 设备全流程(字节豆包 | 637点数解答 | 2024-12-09 08:31:54)316
- C++与C语言代码:文章中查找单词次数及位置的问题分析与改进方案(字节豆包 | 1381点数解答 | 2025-12-15 17:32:28)58
- C 语言实现:轻松搞定整数逆序数计算函数(字节豆包 | 86点数解答 | 2024-11-18 21:11:55)141
- C语言实现正整数逆序输出:考虑输入 0、边界与溢出的高效方案(字节豆包 | 142点数解答 | 2024-12-15 23:07:03)140
- C 语言实现:求整数逆序数函数的代码详解(字节豆包 | 295点数解答 | 2025-12-10 23:06:36)35
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)494
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)479
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)421
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)444
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)95