title: Type conversion - unsigned to signed int/char
body: <p>I tried the to execute the below program:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main() {
      signed char a = -5;
      unsigned char b = -5;
      int c = -5;
      unsigned int d = -5;
  
      if (a == b)
          printf("\r\n char is SAME!!!");
      else
          printf("\r\n char is DIFF!!!");
  
      if (c == d)
          printf("\r\n int is SAME!!!");
      else
          printf("\r\n int is DIFF!!!");
  
      return 0;
  }
  </code></pre>
  
  <p>For this program, I am getting the output: </p>
  
  <blockquote>
    <p>char is DIFF!!!
    int is SAME!!!</p>
  </blockquote>
  
  <p>Why are we getting different outputs for both?<br>
  Should the output be as below ?</p>
  
  <blockquote>
    <p>char is SAME!!!
    int is SAME!!! </p>
  </blockquote>
  
  <p>A <a href="http://codepad.org/vpBuIbTQ" rel="noreferrer">codepad link</a>.</p>