title: putchar() vs printf() - Is there a difference?
body: <p>I am currently in chapter 1.5.1 File copying and made a program like so:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  /* copy input to output; 1st version */
  main()
  {
      int c;
  
      c = getchar();
      while (c != EOF) {
          putchar(c);
          c = getchar();
      }
  }
  </code></pre>
  
  <p>If I ran it like this:</p>
  
  <pre><code>PS &lt;..loc..&gt; cc copy-0.c
  PS ./a
  Black
  Black
  White
  White
  Gray
  Gray
  </code></pre>
  
  <p>The output is what I input.</p>
  
  <p>And here's a program I made for experimental purposes:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  /* copy input to output; 1st version */
  main()
  {
      int c;
  
      c = getchar();
      while (c != EOF) {
          printf("%c",c);
          c = getchar();
      }
  }
  </code></pre>
  
  <p>It produces the same result but is there a difference between <code>putchar</code> and <code>printf</code>?</p>
  
  <p>Which is better to use between the 2?</p>