21xrx.com
2024-12-22 21:32:47 Sunday
登录
文章检索 我的文章 写文章
C++交换字符串两个位置
2023-07-12 18:51:22 深夜i     --     --
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类型,我们可以直接交换字符串中的字符。可以根据具体情况选择合适的方法来实现。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复