A função isalpha() verifica se ‘c’ é uma letra (maiúscula ou minúscula).
Declaração
int isalpha(int c);
Parâmetros
- c – Caractere a ser verificado.
Retorno
Retorna um valor não nulo (verdadeiro) se ‘c’ for um caractere alfabético, caso contrário retorna 0 (falso).
Exemplo
Live Demo
#include <stdio.h>
#include <ctype.h>
int main () {
int var1 = 'd';
int var2 = '2';
int var3 = '\t';
int var4 = ' ';
if( isalpha(var1) ) {
printf("var1 = |%c| é alfabético\n", var1 );
} else {
printf("var1 = |%c| não é alfabético\n", var1 );
}
if( isalpha(var2) ) {
printf("var2 = |%c| é alfabético\n", var2 );
} else {
printf("var2 = |%c| não é alfabético\n", var2 );
}
if( isalpha(var3) ) {
printf("var3 = |%c| é alfabético\n", var3 );
} else {
printf("var3 = |%c| não é alfabético\n", var3 );
}
if( isalpha(var4) ) {
printf("var4 = |%c| é alfabético\n", var4 );
} else {
printf("var4 = |%c| não é alfabético\n", var4 );
}
return(0);
}
Saída:
var1 = |d| é alfabético
var2 = |2| não é alfabético
var3 = | | não é alfabético
var4 = | | não é alfabético
Codificando a função
Para um caractere ser considerado alfabético ele deve estar compreendido entre A e Z ou entre a e z, dessa forma, é o equivalente a dizer se é maiúsculo (isupper()) ou minúsculo (islower()).
int ft_isalpha(int c)
{
//verificando se não é alfabético
if ((c < 'A' || c > 'Z') && (c < 'a' || c > 'z'))
return (0);
return (1);
}
Caso tenha as funções ft_isupper() e ft_islower(), ficaria:
int ft_isalpha(int c)
{
//verificando se é alfabético
if (ft_isupper(c) || ft_islower(c))
return (1);
return (0);
}
Referências
http://man7.org/linux/man-pages/man3/isalpha.3p.html
https://www.tutorialspoint.com/c_standard_library/c_function_isalpha.htm