The following part of the scanf(3) manpage probably needs to be reworded: The value .Dv EOF is returned if an input failure occurs before any conversion such as an end-of-file occurs.
(I won't even attempt it, as I am not sure what the behaviour actually is.)