title: How this custom toupper() function works?
body: <p>I've seen following program that uses custom <code>toupper()</code> function.</p>
  
  <pre><code>#include &lt;stdio.h&gt; 
  void my_toUpper(char* str, int index)
  {
      *(str + index) &amp;= ~32;
  }
  int main()
  {
      char arr[] = "geeksquiz";
      my_toUpper(arr, 0);
      my_toUpper(arr, 5);
      printf("%s", arr);
      return 0;
  }
  </code></pre>
  
  <p>How this function works exactly? I can't understand logic behind it. It will be good If someone explains it easily. </p>