L'inversion de char tableau dans la programmation en C

Je suis nouvelle c langage de programmation. Je suis en train d'inverser les éléments dans le tableau de char. En fait, j'ai presque inversés, mais il y a quelque chose que je ne peux pas le faire.
Voici le code:

void q2_reverseTheArray(char word[100]){
int lentgh=sizeof(word);
int j;
for(j=length+1; j>=0; j--){
    printf("%c", word[j]);
}

Le code inverse de la matrice, mais il ajoute une autre lettre.

  • Êtes-vous sûr que c'est le code que vous utilisez? Cela ne devrait pas compiler, que vous avez une faute de frappe dans la déclaration de length; puis il devrait planter parce que vous commencer la boucle en accédant à word[length + 1] qui est de 2 indices hors de portée.
  • Vos conditions de boucle sont mauvais. Les tableaux sont indexés à partir de 0 à length-1. Essayez ce qui suit: for (j=length-1; j>0; j--) Cela va démarrer au dernier caractère et répétez jusqu'à ce que la première. Mieux encore, habitués à l'aide de votre débogueur.
  • Oui, j'en suis sûr. J'ai donné le paramètre "livre". Et le résultat a été "aakoob".
  • À tous les lecteurs: après Avoir dit "je suis nouveau sur le langage de programmation c", couper ce mec est un peu de mou et de s'abstenir de voter ou à proximité de vote de la question.
  • Double Possible de Sizeof tableau passé en paramètre
InformationsquelleAutor Sahin | 2015-12-06