用C++写一个函数来反转字符串
时间: 2023-06-08 20:06:55 浏览: 143
好的,这是一个用C语言写的反转字符串的函数:
```c
void reverseString(char *s) {
int len = strlen(s);
for (int i = 0; i < len / 2; i++) {
char tmp = s[i];
s[i] = s[len - i - 1];
s[len - i - 1] = tmp;
}
}
```
使用方法是将需要反转的字符串作为参数传递给函数,例如:
```c
char s[] = "hello";
reverseString(s);
printf("%s", s); // 输出 "olleh"
```
请注意,这是一个修改传入字符串的函数,所以传入的字符串必须是可写的。如果需要保留原始字符串,可以先将其复制到另一个字符串中。
相关问题
用C++写一个函数进行反转表示字符串
好的,我知道了。下面是用 C 语言实现字符串反转的函数代码:
```
#include <stdio.h>
#include <string.h>
void reverse(char str[])
{
int len = strlen(str);
char temp;
for (int i = 0; i < len / 2; i++)
{
temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main()
{
char str[100];
printf("请输入要反转的字符串:");
scanf("%s", str);
reverse(str);
printf("反转后的字符串是:%s\n", str);
return 0;
}
```
这个函数中,首先求出字符串的长度 len,然后从字符串头和尾开始遍历,交换对应位置的字符,最后完成字符串的反转。其中用到了一个临时变量 temp 来交换字符。
c++怎么用reverse函数反转字符串
在 C++ 中,你可以使用标准库中的 `std::reverse` 函数来反转一个字符串。但这需要配合字符串的迭代器一起使用,因为 `reverse` 需要两个指向容器开始和结束位置的迭代器。以下是使用 `reverse` 反转字符串的一个例子:
```cpp
#include <algorithm> // 包含 std::reverse 函数
#include <string>
void reverseString(std::string& str) {
str.begin() = str.rbegin(); // 使用 rbegin 和 rend 获取字符串的反向迭代器
str.end() = str.rend();
}
int main() {
std::string myStr = "Hello, World!";
reverseString(myStr);
std::cout << myStr; // 输出 "!dlroW ,olleH"
return 0;
}
```
在这个例子中,`str.begin()` 和 `str.end()` 是原始字符串的开始和结束迭代器,而 `str.rbegin()` 和 `str.rend()` 分别指向反向的开始和结束位置。通过赋值操作,我们实现了字符串内容的反转。
阅读全文