comment scanf() vérifie si l'entrée est un nombre entier ou un caractère?

Je me demande comment est la bibliothèque standard C de la fonction scanf() vérifie si l'entrée est un nombre entier ou un caractère lorsque nous appelons scanf("%d",&var) lorsqu'un personnage est lui-même qu'un nombre?
Je sais que lorsqu'il rencontre un non-entier, il le remet dans la mémoire tampon d'entrée et retourne -1 mais comment sait-il que l'entrée n'est pas un nombre entier?

OriginalL'auteur vjain27 | 2011-04-12