From the same page you linked:
Quote:
Return Value
On success, the function returns the number of items succesfully read. This count can match the expected number of readings or be less -even zero- in the case of a matching failure.
In the case of an input failure before any data could be successfully read, EOF is returned.
So you will need to catch the returnvalue (like in
retvalue = fscanf(...);) and test if the values are correct.
The example they give is minimal, and works if you get correct input. It will have unexpected results if the data you are reading is not formatted correctly, and it is exactly those situations which you need to handle - hence the existence of a warning.