这个C程序是做什么的?

What does this C program do?

#include <stdio.h>

int main(){

    char c;

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

    return 0;
}

在麻省理工学院的 C 实用程序设计中看到了这段 C 代码。谁能解释一下这个程序是如何工作的?

程序将任何输入转换为小写输出。

如果你运行它调试它,你自己就会认出它,或者只是为此做了一个纸质测试