21xrx.com
2025-04-05 03:59:29 Saturday
文章检索 我的文章 写文章
C++ 字符串逆序实现
2023-06-30 10:32:42 深夜i     15     0
C++ 字符串 逆序 实现

C++ 是一种高级程序设计语言,它拥有很多强大的功能和特点,其中包括对字符串的操作。在 C++ 中,字符串逆序是一种常见的操作,它可以通过多种方式实现。下面介绍一种简单的方法。

首先,我们需要定义一个字符串变量。在 C++ 中,可以使用 char 类型的数组来表示字符串。例如:

char str[] = "Hello, World!";

接下来,我们定义一个指针变量并赋值为字符串的首地址。可以使用指针变量来遍历字符串中的每一个字符。例如:

char* ptr = str;

现在,我们需要使用指针变量来逆序遍历字符串中的每一个字符,并将其存储到另外一个数组当中。可以使用一个循环来实现:

char reverseStr[100];
int len = strlen(str);
for (int i = len - 1; i >= 0; i--) {
  reverseStr[len - i - 1] = *(ptr + i);
}
reverseStr[len] = '\0';

在上面的代码中,我们先计算了字符串的长度,并在定义新的数组时多分配了一个空间来存储字符串结尾的 null 字符。然后,我们使用指针变量逆序遍历字符串中的每一个字符,并将其存储到新的数组中。最后,我们需要给新的数组末尾添加一个 null 字符,以表示字符串的结束。

现在,我们已经成功实现了字符串的逆序。可以使用 cout 函数来输出结果:

cout << "Reverse string: " << reverseStr << endl;

完整的代码如下:

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
  char str[] = "Hello, World!";
  char* ptr = str;
  char reverseStr[100];
  int len = strlen(str);
  for (int i = len - 1; i >= 0; i--) {
    reverseStr[len - i - 1] = *(ptr + i);
  }
  reverseStr[len] = '\0';
  cout << "Original string: " << str << endl;
  cout << "Reverse string: " << reverseStr << endl;
  return 0;
}

上面的代码中,我们使用了 string.h 头文件中的 strlen 函数来计算字符串的长度。该函数返回的值不包括字符串结尾的 null 字符。因此,在定义新的数组时需要多分配一个空间。

总之,C++ 中实现字符串逆序是一种非常常见的操作,它可以通过多种方式实现。上面介绍的方法是其中一种简单的实现方式,读者可以根据自己的需要选择合适的方法。

  
  

评论区

请求出错了