title: Does printf() convert its arguments to string like cout?
body: <p>I start to learn C++ from C. Recently, I have just read a tutorial book about C++. In section <em>Introduce to streams</em>, the book has noted:</p>
  
  <blockquote>
    <p>The  &lt;&lt; operator is overloaded so that the operand on the right can be
    a string or any primitive value. If this operand is not a string, the 
    &lt;&lt; operator converts it to string form before sending it to the output
    stream.</p>
  </blockquote>
  
  <p>So I wonder whether <code>printf()</code> function in C has the same effect. And if it doesn't, please tell me about the differences between both of them.</p>