21xrx.com
2025-03-28 18:39:58 Friday
文章检索 我的文章 写文章
C++实现字符串反转
2023-06-28 03:09:11 深夜i     11     0
C++ 字符串 反转

在C++中,可以使用循环和指针来实现字符串的反转。字符串反转的过程就是将字符串中的每个字符按照相反的顺序重新排列。

首先,定义一个字符串变量,用于存储需要反转的字符串。然后,使用strlen函数获取字符串的长度。接下来,使用for循环和指针对字符串进行反转操作。在循环中,定义两个指针,一个指向字符串的开头,另一个指向字符串的结尾。在每一次循环中,将两个指针指向的字符交换位置,直到指针交叉。

以下是代码实现:

#include <iostream>
#include <cstring>
using namespace std;
void reverseString(char* str) {
  int len = strlen(str);
  char* start = str;
  char* end = str + len - 1;
  while (start < end) {
    char temp = *start;
    *start = *end;
    *end = temp;
    start++;
    end--;
  }
}
int main() {
  char str[] = "hello world";
  cout << "Original String: " << str << endl;
  reverseString(str);
  cout << "Reversed String: " << str << endl;
  return 0;
}

在这个例子中,字符串"hello world"被赋值给变量str。然后调用了reverseString函数,将其反转。最后,输出反转后的字符串。

需要注意的是,通过指针交换字符位置时一定要用临时变量存储当前计算的字符,否则会导致不正确的结果。

在实际开发中,字符串的反转是常见的操作,可以用来解决一些问题,例如将文件名后缀反转等。然而,需要注意的是,在实际应用中,反转字符串会消耗大量的内存和计算资源,成为性能瓶颈之一,因此需要谨慎使用。

  
  

评论区