반응형

안녕하세요.

C언어에서 문자가 알파벳인지 아닌지 확인해주는 함수에 대해 알아보도록 하겠습니다.

캐릭터명이 알파벳으로만 만들어졌는지 확인할 때 유용합니다.

함수 원형
int isalpha( int _C );
_C가 문자 알파벳인지 판별하게 됩니다.

헤더 파일
ctype.h

리턴값
알파벳이면 0이 아닌 값(true), 대문자는 2, 소문자는 1
알파벳이 아니면 0(false)

예제

간단하게 문자를 하나씩 isalpha함수 파라메터에 넣어서 알파벳인지 판별합니다.

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[] = "a-+&b";
    
    for (int i = 0; chString[i] != '\0'; i++)
    {
        if (isalpha(chString[i]))
            printf("alpha : %c\n", chString[i]);
        else
            printf("not alpha : %c\n", chString[i]);
    }
}
cs

 

isalpha함수를 이용하지 않고 직접 구현해볼 수 도 있습니다.

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[] = "a-+&b";
 
    for (int i = 0; chString[i] != '\0'; i++)
    {
        if ((chString[i] >= 'a' && chString[i] <= 'z'|| (chString[i] >= 'A' && chString[i] <= 'Z'))
            printf("alpha : %c\n", chString[i]);
        else
            printf("not alpha : %c\n", chString[i]);
    }
}
cs
반응형

+ Recent posts