C++ Impression d'une chaîne de caractères dans le sens inverse à l'aide d'une boucle for

J'ai un programme qui affiche les caractères d'une chaîne à l'aide d'une boucle for. Il doit également imprimer les mêmes caractères dans le sens inverse, qui est l'endroit où je vais avoir des problèmes. Quelqu'un peut-il m'aider à comprendre pourquoi la deuxième boucle for n'est pas de l'exécution?

int main()
{
    string myAnimal;

    cout << "Please enter the name of your favorite animal.\n";
    cin >> myAnimal;

    //This loop works fine
    int i;
    for(i = 0; i < myAnimal.length(); i++){
        cout << myAnimal.at(i) << endl;
    }

    //This one isn't executing
    for(i = myAnimal.length(); i > -1; i--){
        cout << myAnimal.at(i) << endl;
    }
    return 0;
}
  • Vous ne devez pas utiliser int pour stocker la longueur de la chaîne de la longueur de la chaîne peut dépasser l'intervalle entier.
InformationsquelleAutor Bobby | 2014-01-26