What does this C program do? : <pre><code>#include &lt;stdio.h&gt;

int main(){

    char c;

    while((c = getchar()) != EOF){
        if(c &gt;= 'A' &amp;&amp; c &lt;= 'Z')
            c = c - 'A' + 'a';
        putchar(c);
    }

    return 0;
}
</code></pre>

<p>Came across this C code in MIT's Practical Programming in C. Can anyone explain how this program works?</p>
