반응형

안녕하세요.

오늘은 문자가 숫자인지를 확인하는 함수에 대해 알아보도록 하겠습니다.

문자가 숫자('0'~'9')인지를 확인하는 함수입니다.

함수 원형
int isdigit(int _C);
_C가 숫자인지를 판별합니다.

헤더파일
ctype.h

리턴값
숫자이면 0이 아닌값을 리턴합니다.( 4를 리턴 합니다)
숫자가 아니면 0을 리턴합니다.

예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <ctype.h>
 
void main()
{
    char chString[] = "a1-2+&ZY8b";
    
    for (int i = 0; chString[i] != '\0'; i++)
    {
        if (isdigit(chString[i]))
            printf("digit : %c\n", chString[i]);
        else
            printf("not digit : %c\n", chString[i]);
    }
}
cs

결과

isdigit함수를 사용하지 않고 구현하려면 다음과 같이 구현합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <ctype.h>
 
void main()
{
    char chString[] = "a1-2+&ZY8b";
        
    for (int i = 0; chString[i] != '\0'; i++)
    {
        if ((chString[i] >= '0' && chString[i] <= '9'))
            printf("digit : %c\n", chString[i]);
        else
            printf("not digit : %c\n", chString[i]);
    }
}
cs
반응형

+ Recent posts