Réponse acceptée !
Les applications console possèdent deux handle. stdin et stdout stdout est ce qui est envoyer de l'application vers l'ecran. stdin est ce qui est envoyer de l'ecran (ou plus clavier/souris) vers l'application. donc quand on apelle une fonction tels que printf, on ecrit dans le stdout. Par contre quand on fait un scanf, l'utilisateur ecrit dans le stdin. Sauf que scanf ne gere pas les espaces. Par consequent si on tape plusieurs chose separer par des espace, scanf ne remplira ta variable que jusqu'au premier espace. De plus suivant l'utilisation tu peux te retrouver avec un \0 en trop dans ton stdin. et donc recupere n'importe quoi avec des scanf. Pour eviter ca on vide le stdin en faisant "fflush(stdin);"
Quand au "*ptab=250;" Il remplit juste son tableau avec une valeur de son choix, il aurait pu mettre a peut pres n'importe quel valeur de caracter affichable.
Le travail c'est la santé, ne rien faire c'est la préservé !!!
|