La función tolower convierte un Tipo de dato carácter a minúscula (A-Z a a-z).

En el lenguaje de programación C las variables del tipo Tipo de dato carácter(char) almacenan el código ASCII del carácter (deben de estar dentro del rango 0-255 o 00-FF en hexadecimal).

Simplemente lo que hace tolower() es sumarle 32 al número entero correspondiente al código ASCII del carácter.

/**Ejemplo**/

#include <stdio.h>
#include <ctype.h> // para tolower
#include <conio.h> // UNICAMENTE EN BORLANDC++ Y TURBOC++ (NO ES ANSI C), permite usar getch()

int main() {
    char letra;
    printf("Ingrese Letra:\n");
    fflush( stdin );
    scanf( "%c", &letra );
    letra = tolower( letra );
    printf("\nSu letra es:%c",letra);
    getch(); // espera que se tipee un carácter
}

Ejemplo en ANSI CEditar

#include <stdio.h>
#include <ctype.h> // para tolower
#include <stdlib.h> // UNICAMENTE EN GNU/LINUX - UNIX (SI ES ANSI C), permite usar read

int main() {
    char letra;
    printf("Ingrese Letra:\n");
    fflush( stdin );
    scanf( "%c", &letra );
    letra = tolower( letra );
    printf("\nSu letra es:%c",letra);
    system("read"); // espera que se tipee un carácter
}

En este caso si se ingresa la letra "A"(65 en ASCII), va a imprimir por pantalla "a"(97 en ASCII).

Véase tambiénEditar