C tolower() function

C tolower(int c)

The tolower() function is used to translate uppercase characters to lowercase characters. The function is defined in the ctype.h header file.


int tolower(int argument);

tolower() Parameters:

Name Description Required /Optional
ch Argument ch represents a uppercase letter. Required

Return value from tolower()

  • Upon successful completion, tolower() returns the lowercase letter corresponding to the argument passed; otherwise returns the argument unchanged.

Example: How tolower() function works?

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

int main() {
    char ch;
     printf("Convert upper case to lower case:\n");
    ch = 'W';
    printf("%c -> %c", ch, tolower(ch));

    ch = 'x';
    printf("\n%c -> %c", ch, tolower(ch));
    ch = 'Y';
    printf("\n%c -> %c", ch, tolower(ch));
    ch = 'A';
    printf("\n%c -> %c", ch, tolower(ch));
    return 0;


Convert upper case to lower case:
W -> w
x -> x
Y -> y
A -> a

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous C Programming: C isupper()
Next C Programming: C toupper()

Follow us on Facebook and Twitter for latest update.

C Programming: Tips of the Day

Reading a string with scanf :

An array "decays" into a pointer to its first element, so scanf("%s", string) is equivalent to scanf("%s", &string[0]). On the other hand, scanf("%s", &string) passes a pointer-to-char[256], but it points to the same place.

Then scanf, when processing the tail of its argument list, will try to pull out a char *. That's the Right Thing when you've passed in string or &string[0], but when you've passed in &string you're depending on something that the language standard doesn't guarantee, namely that the pointers &string and &string[0] -- pointers to objects of different types and sizes that start at the same place -- are represented the same way.

Ref : https://bit.ly/3pdEk6f