Citation :
1/ Pourquoi il est écrit while(c != '\n') au lieu de while(c != '\0') car ce dernier correspond a la fin de la chaine de caractère, mais '\n' ? o_O
|
Il y a un \n parce que l'appuie sur la touche "entrée" vaut ce symbole.
Citation :
2/ Pourquoi dans le scanf il est écrit "%c" qui correspond a un caractère au lieu de "%s" qui correspond a une chaine de caractère, car dans ce code on rentre une phrase et non une lettre?
3/ Pourquoi le scanf fait parti de la boucle alors que le texte est demandé a être taper qu'une seul fois? (dans ce code, normalement a chaque boucle je dois taper le texte car scanf est dans la boucle)
|
En utilisant la tactique de mettre le symbole %c au lieu d'une chaine de caractère c'est que le texte n'a pas besoin d'être délimité, car si j'écris par exemple voyelle, le v sera pris en compte au premier passage de la boucle, puis (et c'est là l'intérêt de mettre le scanf dans la boucle) le o sera récupéré automatiquement grâce au buffer, et ainsi de suite jusqu'au \n. Alors qu'avec une chaine on aurait dû délimiter le mot, ce qui est dommage si la personne s'appelle Schwarzenegger . Le buffer c'est une chaine de caractère virtuelle si tu veux, vu qu'on demande un seul caractère, le reste de la chaine est stockée dans cette variable (qui est virtuelle attention, donc pas appelable) quand on fait un appelle à scanf par exemple, la fonction regarde s'il y a quelque chose dans le buffer et si c'est le cas, un caractère ou une chaine est récupéré. Le seul désavantage, c'est qu'il faut bien vider le buffer avant de passer à la suite du programme pour ne pas récupérer des fausses données qui seraient restées dans le buffer, mais une petite fonction peut faire ce travail
Citation :
4/ Et enfin peut on utiliser la boucle while au lieu de Do.. while ? si non, pourquoi ?
|
L'intérêt du do...while, c'est que la boucle se fait au moins au fois même si la condition est fausse dès le départ, ce qui n'est pas nécessaire ici, donc un while direct est possible.
---------------
Apprenez à créer des jeux d'aventure avec AGS