Bonjour, j'aurais plusieurs questions concernant le cours d'hier.
Pour l'exemple de boucle infinie à la slide 12, la boucle infinie est-elle due au fait que si on entre un 'a' par exemple, le caractère "reste bloqué" dans le stdin et à chaque tour de boucle, le programme essaie de réattribuer ce caractère à la variable int, ce qui ne fonctionne pas et en quelque sorte "supprime la ligne avec le scanf(...)" ?
De plus il est écrit, à la slide 9, que fflush(stdin) n'a aucun effet sur stdin. Mais, j'ai essayé de faire un fflush(stdin) afin de "vider" le tampon après avoir tenté le scanf(...), et apparemment cela marche car je n'ai plus de boucle infinie... Du coup, est-ce que fflush(stdin) fait bien quelque chose à stdin ou était-ce juste un "coup de chance" et cela n'était pas censé fonctionner ?
Dernière question, concernant l'exemple slide 22, pour avoir la longueur de la string écrite, vous utilisez la fonction strlen(...). Mais vous faites un -1 après. Au début, je pensais que c'était ne pas compter le \0 à la fin de la string. Mais apparemment, selon internet, la fonction strlen(...) ne compte pas ce \0. Du coup, je me demandais pourquoi vous faisiez -1 à la longueur ?
Merci d'avance pour vos réponses et bonne journée,
Alessio Verardo