ft_isalpha

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

Deixe um comentário