小编use*_*395的帖子

使用指针反转字符串

我不得不承认,我不知道如何使用指针,但我仍然尝试过。我的程序的问题是,它反向显示字符串,除了第一个字母丢失,整个字符串向前移动一个空格,第一个元素为空白。例如,当输入“hello”时,它会显示“olle”。

#include <iostream>
#include <string>

using namespace std;

string reverse(string word);

int main()
{
char Cstring[50];
cout<<"enter a word: ";
cin>>Cstring;
string results = reverse(Cstring);
cout <<results;
}

string reverse(string word)
{
    char *front;
    char *rear;
    for (int i=0;i< (word.length()/2);i++)
    {
            front[0]=word[i];
            rear[0]=word[word.length()-i];
            word[i]=*rear;
            word[word.length()-i]=*front;
    }
    return word;
}
Run Code Online (Sandbox Code Playgroud)

新代码完美运行。将字符串更改为 cstrings。从技术上来说,问题是针对 cstrings 的,但我发现字符串更容易,所以我使用字符串,然后进行必要的更改以使其成为 c 字符串。想出如何初始化后部和前部。

#include <iostream>
#include <cstring>

using namespace std;

string reverse(char word[20]);

int main()
{
char Cstring[20];
cout<<"enter a word: ";
cin>>Cstring;
string results = reverse(Cstring);
cout …
Run Code Online (Sandbox Code Playgroud)

c++ string reverse pointers

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

c++ ×1

pointers ×1

reverse ×1

string ×1