관리 메뉴

History

[C언어]해당 문자가 영문자인지 확인하기(isalpha) 본문

C,C++/개념 실습 프로그래밍

[C언어]해당 문자가 영문자인지 확인하기(isalpha)

luckybee 2022. 10. 5. 21:31
728x90
반응형

isalpha 함수는 체크할 문자가 영문자인지 알려주는 함수이다. 이 함수는 아스키 값을 계산해서 'a'~'z'(소문자)이면 2을 반환하고 'A'~'Z'(대문자)이면 1을 반환한다. 그 이외의 영문자가 아닌 문자가 인자 값으로 들어가면 0을 반환한다. 아래 간단한 예제를 보면서 이해하면 편할 것이다.

#include<stdio.h>
#include<ctype.h>    //isalpha을 사용하기 위해

#pragma warning(disable:4996)

int main()
{
	
	printf("%c의 isalpha반환값:%d\n", 'a', isalpha('a'));
	printf("%c의 isalpha반환값:%d\n", 'z', isalpha('z'));
	printf("%c의 isalpha반환값:%d\n", 'A', isalpha('A'));
	printf("%c의 isalpha반환값:%d\n", 'C', isalpha('C'));
	printf("%c의 isalpha반환값:%d\n", '+', isalpha('+'));
	printf("%c의 isalpha반환값:%d\n", '1', isalpha('1'));
	
	return 0;
}

isalpha의 반환값

위 결과값처럼 0~2 사이의 값이 반환된다. 그러면 우리가 isalpha 함수를 사용하지 않고 직접 만들어보자.

코드는 아래와 같다.

 

#include<stdio.h>
#include<ctype.h>    //isalpha을 사용하기 위해
#pragma warning(disable:4996)


int UserIsalpha(char a_type)
{
	if (a_type>=65&& a_type <= 90){          //(a_type>='A'&& a_type <= 'Z')
		return 1;
	}else if (a_type >= 97&& a_type <= 122){ //(a_type>='a'&& a_type <= 'z')
		return 2;
	}
	return 0;
}


int main()
{
	printf("%c의 isalpha반환값:%d\n", 'a', UserIsalpha('a'));
	printf("%c의 isalpha반환값:%d\n", 'z', UserIsalpha('z'));
	printf("%c의 isalpha반환값:%d\n", 'A', UserIsalpha('A'));
	printf("%c의 isalpha반환값:%d\n", 'C', UserIsalpha('C'));
	printf("%c의 isalpha반환값:%d\n", '+', UserIsalpha('+'));
	printf("%c의 isalpha반환값:%d\n", '1', UserIsalpha('1'));
	
	return 0;
}

 

728x90
반응형
Comments