title: Return value EOF of scanf in C
body: <p>Scanf in C language, I am a little confused about the return value.</p>
  
  <p>In the instruction, it says:</p>
  
  <ol>
  <li>EOF is returned if the end of input is reached before either the first successful conversion or a matching failure occurs. </li>
  <li>EOF is also returned if a read error occurs, in which case the error indicator for the stream is set.</li>
  </ol>
  
  <p>First, I am not sure what they mean by if the <strong>end of input</strong> is reached <strong>before</strong> the first successful conversion or <strong>before</strong> a matching failure occurs. How is that possible?</p>
  
  <p>Second, I am not sure the difference between read error and matching failure?</p>