getchar() in a for loop condition
<p>Consider following code:</p>

<pre class="lang-c prettyprint-override"><code>int main()
{
    char c;
    for(;(c=getchar())+1;)
        printf("%c\n",c);
}
</code></pre>

<p>It gets characters what I enter in terminal and prints them. When I remove <code>+1</code> in condition, program works but it doesnt stop when <code>EOF</code> (Ctrl+D) signal. When I change it to <code>+2</code> same problem.</p>

<p>My question is how that <code>+1</code> work? Is it something related to <code>getchar()</code> or <code>for</code> loop?</p>