c++ - 初学者 - 我的 "produce word backwards"程序有什么问题?

标签 c++ string

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string word, wordbackw;

    getline(cin, word);
    int size = word.size();

    for (int i = 0; i < size ; i++)
        word[size-1-i] = wordbackw[i];

    cout << wordbackw << endl;

    return 0;
}

cmd 中唯一出现的是我的输入。

感谢您的帮助。

编辑:抱歉,忘记在代码中添加 cout。

最佳答案

您必须先将 wordbackw 调整为与 word 相同的大小:

  • 您可以在循环之前初始化 wordbackw = word; 并在 word 中打印结果。

  • 或者你可以在循环之前调整 wordbackw 的大小,并将 word 字母复制到 wordbackw 字母(你现在做相反的事情) ,并将结果显示在wordbackw

关于c++ - 初学者 - 我的 "produce word backwards"程序有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42821606/

相关文章:

c++ - 为什么 std::istream 不承担其 streambuf 的所有权?

c++ - std::remove 指定元素的 vector

ios - 如何通过 Swift3 将 HTML 字符串分离成数组或字典?

ruby - 将基于字符串的分钟和秒值相加

python - 如何将 Paramiko exec_commmand 作为字符串返回给 python 客户端

python - 通过python字符串函数删除字符串多余字符

c++ - Visual Studio C++ 无法将文字字符串参数识别为常量字符串引用

c++ - STL map<string, string>,给key赋0值导致编译错误

java - 未在此范围内声明 GetByteArrayElements

c++ - 当需要基类作为参数时无法传递子类的 vector