21xrx.com
2025-04-17 23:27:42 Thursday
文章检索 我的文章 写文章
C++交换字符串两个位置
2023-07-12 18:51:22 深夜i     26     0
C++ 交换 字符串 位置

在C++中,字符串可以用char数组或string类型来表示。当我们需要交换两个字符串中的字符时,我们可以使用以下方法:

1. 使用char数组

我们可以定义两个char数组来储存这两个字符串,并使用一个临时数组来交换它们的位置。代码示例如下:

#include <iostream>
using namespace std;
int main()
{
  char str1[] = "abcd";
  char str2[] = "efgh";
  // 交换字符串
  int len = sizeof(str1) / sizeof(char);
  char temp[len];
  for (int i = 0; i < len; i++) {
    temp[i] = str1[i];
    str1[i] = str2[i];
    str2[i] = temp[i];
  }
  // 输出结果
  cout << "str1: " << str1 << endl;
  cout << "str2: " << str2 << endl;
  return 0;
}

输出结果:

str1: efgh
str2: abcd

2. 使用string类型

使用string类型时,我们可以直接交换字符串中的字符,不需要使用临时数组。代码示例如下:

#include <iostream>
using namespace std;
int main()
{
  string str1 = "abcd";
  string str2 = "efgh";
  // 交换字符串
  int len = str1.length();
  for (int i = 0; i < len; i++) {
    char temp = str1[i];
    str1[i] = str2[i];
    str2[i] = temp;
  }
  // 输出结果
  cout << "str1: " << str1 << endl;
  cout << "str2: " << str2 << endl;
  return 0;
}

输出结果同上。

总结

在C++中,交换字符串两个位置可以使用char数组或string类型来实现。对于char数组,我们需要使用一个临时数组来进行交换;对于string类型,我们可以直接交换字符串中的字符。可以根据具体情况选择合适的方法来实现。

  
  

评论区