用C++编写一个函数,实现两个字符串变量的交换,要求参数用引用。
时间: 2024-09-26 10:06:37 浏览: 36
在C++中,我们可以创建一个函数`swapStrings`,它接受两个字符串引用作为参数,然后通过临时变量来交换它们的内容。以下是具体的代码示例:
```cpp
#include <iostream>
#include <string>
void swapStrings(std::string& str1, std::string& str2) {
// 创建一个临时字符串存储str1的内容
std::string temp = str1;
// 将str1的内容更新为str2的内容
str1 = str2;
// 最后将temp的内容赋给str2完成交换
str2 = temp;
}
int main() {
std::string s1 = "Hello";
std::string s2 = "World";
std::cout << "Before swapping: s1 = " << s1 << ", s2 = " << s2 << "\n";
swapStrings(s1, s2);
std::cout << "After swapping: s1 = " << s1 << ", s2 = " << s2 << "\n";
return 0;
}
```
在这个例子中,`swapStrings`函数改变了传入的`s1`和`s2`的实际内容,而不是仅仅修改了它们的副本。
相关问题
c++编写一个函数实现两个字符串变量的交换,且参数用引用
在C++中,你可以创建一个函数,接受两个字符串引用作为参数,然后通过临时变量或者直接操作引用的方式实现两个字符串的交换。这里是一个使用临时变量的例子:
```cpp
#include <string>
void swapStrings(std::string& str1, std::string& str2) {
std::string temp = str1; // 创建一个临时字符串存储str1的内容
str1 = str2; // 将str2的内容赋给str1
str2 = temp; // 将临时变量temp的内容赋给str2
}
```
或者,如果你使用C++11及以上版本,可以直接通过解引用操作符(&)和+=来交换,这种方式更简洁:
```cpp
#include <string>
void swapStrings(std::string& str1, std::string& str2) {
str1.swap(str2); // C++11及以后版本的std::string提供swap()方法直接交换内容
}
```
用c++ 编写一个逆转字符串的函数reverse
你可以通过以下代码来实现逆转字符串的函数reverse:
```c
#include <stdio.h>
#include <string.h>
void reverse(char str[]) {
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;
}
}
int main() {
char str[] = "hello world";
reverse(str);
printf("%s", str);
return 0;
}
```
在这个函数中,我们使用了一个循环来交换字符串中的字符。由于我们只需要逆转一半的字符串,因此循环的次数是字符串长度的一半。在每次循环中,我们使用一个临时变量来交换两个字符的位置。最后,我们可以在main函数中调用这个函数,并输出逆转后的字符串。
阅读全文