title: What does i=1<<i mean in C?
body: <p>I have this source code:</p>
  
  <pre><code>void main() {
    int a[10]={9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; int i;
    for (i=0; i&lt;10; i=1&lt;&lt;i) a[9-i]=a[i];
    for (i=1; i&lt;10; i++) a[0]+=a[i];
    printf("%d", a[0]);
  }
  </code></pre>
  
  <p>Since I'm new to C programming, I don't really understand what it does. What does <code>i=1&lt;&lt;i</code> mean in the for loop?</p>