title: assiging 31 to char and printing it again as int
body: <p>I have this code</p>
  <pre><code>#include &lt;stdio.h&gt;
  
  int main()
  {
      
          char c='31';
          printf(&quot;%d\n&quot;,c);
  
  }
  </code></pre>
  <p>The above one prints wrong 49. It should have printed 31. Can this be done in C. I believe <code>31</code> is not number 31 that means '31' is not represented as binary <code>00011111</code>=31 so is this true so it can't be done or make sense doing it in C</p>