小编use*_*198的帖子

字符串中单词的反向顺序

我正准备参加入门级面试.我试图扭转字符串中单词的顺序,但我的输出是一堆没有意义的垃圾.我认为问题可能是因为我的功能使用"char*"?无论如何,继承人我的代码

#include <iostream>
#include <string>
using namespace std;

char* reverse(char* str, int a, int b); 
char* reversewords(char* str); 

int main()
{
    char str[] = "The interview is";
    cout<<"Reverse is: "<<reversewords(str); 
    cin.ignore();
    return 0;
}


char* reverse(char* str, int a, int b)
{
    int length = a-b;

    for (int i=a; i<b+1; i++)
    {
        char c =str[length-i-1];
        str[length-i-1]=str[i];
        str[i] = c;
    }
    return str;
}

char* reversewords(char* str)
{
    int length = strlen(str);
    int a=0;
    int b=0;
    while (b<length)
    {
        if (str[b]==' …
Run Code Online (Sandbox Code Playgroud)

c++ string reverse char

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

使用const char获取错误

我试图实现下面的函数,但foo()的输出是一堆废话.我试图运行调试器,并没有在append函数中看到任何问题.但是foo()中的总变量未正确赋值"abcdef".有什么想法吗?

int main()
{
    cout<<"foo is"<<endl;
    foo();
    return 0;
}

const char* append(const char* s1, const char* s2) {
    string s(s1);
    s += s2;
    return s.c_str();
}

void foo() {
    const char* total = append("abc", "def");
    cout<<total;
}
Run Code Online (Sandbox Code Playgroud)

c++ string const char

0
推荐指数
1
解决办法
443
查看次数

标签 统计

c++ ×2

char ×2

string ×2

const ×1

reverse ×1