title: to converting upper and lower case why we add +32 and -32 pleas explain
body: <p>Here is a code snippet and I didn't get why +32 and -32 is getting add or subtract to make characters upper case lower case.</p>
  
  <pre><code>/******** function definition *******/
  void stringLwr(char *s)
  {
      int i=0;
      while(s[i]!='\0')
      {
          if(s[i]&gt;='A' &amp;&amp; s[i]&lt;='Z'){
              s[i]=s[i]+32;
          }
          ++i;
      }
  }
  
  void stringUpr(char *s)
  {
      int i=0;
      while(s[i]!='\0')
      {
          if(s[i]&gt;='a' &amp;&amp; s[i]&lt;='z'){
              s[i]=s[i]-32;
          }
          ++i;
      }
  }
  </code></pre>
  
  <p><br><br>
  for more reference, I was learning it on a website <strong><a href="http://www.includehelp.com/c-programs/c-program-to-convert-string-into-lower-and-upper-case.aspx" rel="nofollow">C program to convert in Upper and Lower case.</a></strong></p>