title: fgets adds \0 or \n at the end of the input?
body: <p>I've some doubts about fgets. From what I know, it adds "\n" at the end of the string, and not "\0". So if I write this code:</p>
  
  <pre><code>fgets(buff,2,stdin);
  printf("%s",buff);
  </code></pre>
  
  <p>So fgets reads two characters, I give as input "y", so buff should be "y\n". I'd expect printf to print y and add a line, while it prints "y" without adding a line. Can you explain why?</p>