📅  最后修改于: 2023-12-03 15:07:37.701000             🧑  作者: Mango
在 C++ 中交换字符串的第一个和最后一个字符,我们可以使用以下方法:
std::string
的成员函数使用 std::string
的成员函数 front()
和 back()
可以获取字符串的第一个和最后一个字符,然后使用 std::swap()
函数实现交换。
#include <iostream>
#include <string>
int main() {
std::string str = "hello world";
std::swap(str.front(), str.back());
std::cout << str << std::endl; // output: dello worlh
return 0;
}
我们也可以使用指针来操作字符串,获取第一个和最后一个字符的地址,然后使用指针交换它们的值。
#include <iostream>
int main() {
char str[] = "hello world";
char *p = str;
char *q = str + strlen(str) - 1;
std::swap(*p, *q);
std::cout << str << std::endl; // output: dello worlh
return 0;
}
我们先定义一个字符数组 str[]
,然后使用指针 p
和 q
分别指向字符串的第一个字符和最后一个字符,长度减 1 是因为字符串的下标是从 0 开始的。最后使用 std::swap()
函数交换两个指针指向的字符值。
以上是在 C++ 中交换字符串的第一个和最后一个字符的两种方法,使用 std::string
的成员函数可以更加方便,而使用指针操作字符串则可以更好地理解字符串的存储方式。