A função isdigit() verifica se ‘c’ é um dígito ou não.
Declaração
int isdigit(int c);
Parâmetros
- c – Caractere a ser verificado.
Retorno
Se o caractere ‘c’ for um digito retorna um valor não nulo (verdadeiro), caso contrário retorna 0 (falso).
Exemplo
#include <stdio.h>
#include <ctype.h>
int main () {
int var1 = 'h';
int var2 = '2';
if( isdigit(var1) ) {
printf("var1 = |%c| é um dígito\n", var1 );
} else {
printf("var1 = |%c| não é um dígito\n", var1 );
}
if( isdigit(var2) ) {
printf("var2 = |%c| é um dígito\n", var2 );
} else {
printf("var2 = |%c| não é um dígito\n", var2 );
}
return(0);
}
Saída:
var1 = |h| não é um dígito
var2 = |2| é um dígito
Codificando a função
Dígitos são os números compreendidos entre 0 (incluso) e 9 (incluso), logo, para não ser um digito basta estar fora deste intervalo.
int ft_isdigit(int c)
{
if (c < '0' || c > '9') //verificando se não é dígito
return (0);
return (1);
}
Referências
http://man7.org/linux/man-pages/man3/isdigit.3p.html
https://www.tutorialspoint.com/c_standard_library/c_function_isdigit.htm