title: Printing number of digits rather than actual value
body: <p>Im really new to C and coding in general so sorry if this is a simple problem.</p>
  <p>All I'm trying to do is input some numbers, get them to be added up, and then print the sum in two different ways. However for some reason the <code>printf(&quot;%li&quot;, z);</code> line of code is only printing the amount of digits in the number plus <code>1</code>.</p>
  <p>Could someone explain to me why exactly it is doing this, please? The why what's important, I'm not actually too bothered about getting it to work since I'm just playing around and practising. Thanks!</p>
  <p>My code is as follows:</p>
  <pre><code>#include &lt;cs50.h&gt;
  #include &lt;stdio.h&gt;
  
  int main(void) {
      long x = get_long(&quot;what is x: &quot;);
      long y = get_long(&quot;what is y: &quot;);
      long z = printf(&quot;%li\n&quot;, x + y + y);
      printf(&quot;%li&quot;, z);
  }
  </code></pre>