这段代码中的错误是什么

Aru*_*lam 0 c++

在下面的代码我试图反转字符串没有编译时错误,但没有显示任何内容.有什么不对?

   string string1="arunachalam";

   void reverseStr()
   {        
       for(int i=string1.length();i<0;i--)
       {
          cout<<string1[i];
       }
   }
Run Code Online (Sandbox Code Playgroud)

jas*_*son 8

你的循环条件i < 0是罪魁祸首.循环立即退出,因为字符串的长度永远不会为负.替换为i >= 0.

您还应该i = string1.length() - 1将字符串索引从零开始.从而:

for(int i = string1.length() - 1; i >= 0; i--) {
    cout << string1[i];
}
Run Code Online (Sandbox Code Playgroud)