Exercise 7.1 - upper case to lower or lower case to upper

Question

Write a program that converts upper case to lower or lower case to upper, depending on the name it is invoked with, as found in argv[0]

/* Write a program which converts upper case to lower case or lower case to
upper case depending on the name it is involved with as found in argv[0] */

#include <ctype.h>
#include <stdio.h>
#include <string.h>

/* lower: converts upper case to lower case */
/* upper: converts lower case to upper case */

int main(int argc, char *argv[]) {
    int c;

    if (strcmp(argv[0], "./lower") == 0)
        while ((c = getchar()) != EOF)
            putchar(tolower(c));
    else
        while ((c = getchar()) != EOF)
            putchar(toupper(c));

    return 0;
}

Explanation