title: Bitwise OR not working C
body: <p>Please help me with this code. I don't know why the output is not 8.</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  int main(){
      char c;
      c = c &amp; 0;
      printf("The value of c is %d", (int)c);
      int j = 255;
      c = (c | j);
      int i =0;
      while( (c &amp; 1) == 1){
          i++;
          c = c&gt;&gt;1;
      }
      printf("the value of i is %d",i);
      system("pause");
      return 0;
  }
  </code></pre>
  
  <p>To all the people who gave me -1, I tried printing the values. But it goes into an infinite loop.</p>