用c ++反转一个字符串

yes*_*aah -2 c++ string algorithm reverse

我刚开始用c ++编写代码.

我写了一个反向字符串的代码.我得到空结果.

void main ()
{
    string str1="abcde";string rev="";
    int n=str1.size();
    for(int i=n-1;i>=0;i--)
    {
        rev += str1[i];
    }
printf("%s \n", rev);
}
Run Code Online (Sandbox Code Playgroud)

有谁能告诉我.

Ale*_*exD 5

std::string正在使用%s格式说明符打印.试着改变

printf("%s \n", rev);
Run Code Online (Sandbox Code Playgroud)

同

printf("%s \n", rev.c_str());
Run Code Online (Sandbox Code Playgroud)

或者正如@Appleshell建议的那样,让它成为C++时尚:

std::cout << rev << "\n";
Run Code Online (Sandbox Code Playgroud)

PS

很明显,有一些现成的方法来反转字符串,但我认为这个想法是完全实现的.