Reversing input characters
Standard C requires that main() return int:

int main(void)


There's no need (for 20 years now) to write all local declarations before the code.  Introduce variables as you need them, so they can be initialised immediately:

{
    char line[MAXLEN];

    int i = 0;


There's no need for the extra storage rev in reverse().  We can reverse the string in place, by swapping first and last characters, then the second and second-last, and so on.

Use the Standard Library - it provides functions such as scanf(), getline(), strcpy() and strlen().  Don't write your own code to do these things - it makes your code much less clear, and causes readers to wonder what's being done that's different to the standard.