使用循环向后打印char数组c ++

une*_*ing -1 c++ arrays

我试图向后打印一个未知长度的数组,所以写道,循环应该从终结器开始,然后转到打印每个字母的第一个字母,但它只保留打印的第一个字母

#include <iostream>
using namespace std;

int main()
{
    char word[10];
    int i;

    cout << "Enter a word: " ;
    cin >> word;

    for ( word[i]= '\0'; word[1] <0; word[i] --)
    {
        cout << word[i] << endl;

    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

oo_*_*uel 6

您可以向后打印C风格的字符串:

reverse_copy(word,word+strlen(word),ostream_iterator<char>(cout));
Run Code Online (Sandbox Code Playgroud)

考虑使用std::string:

string word;
cin >> word;

copy(word.rbegin(),word.rend(),ostream_iterator<char>(cout));
Run Code Online (Sandbox Code Playgroud)

您需要#include以下标题才能使上述示例正常工作:

<algorithm>, <iostream>, <iterator>, <string> and <cstring>
Run Code Online (Sandbox Code Playgroud)