ispunct() 함수란?
C 언어의 ispunct() 함수는 전달된 문자가 구두점(punctuation, 문장 부호)인지 여부를 검사하는 함수입니다. 문자가 구두점이 아니면 0을 반환하고, 구두점이면 0이 아닌 값을 반환합니다.
여기서 말하는 구두점에는 마침표(.), 쉼표(,), 느낌표(!), 물음표(?), 세미콜론(;) 등 알파벳, 숫자, 공백을 제외한 인쇄 가능한 특수 문자들이 포함됩니다.
문법
ispunct() 함수의 기본 문법은 다음과 같습니다.
int ispunct(int character);
- character: 검사할 문자를 int형으로 전달합니다.
- 반환값: 구두점이면 0이 아닌 값(true), 구두점이 아니면 0(false)을 반환합니다.
이 함수를 사용하려면 헤더 파일 <ctype.h>를 소스 코드에 포함해야 합니다.
예제
다음은 ispunct() 함수를 활용한 예제 코드입니다.
#include <stdio.h>
#include <ctype.h>
int main() {
int a = '!';
int b = 'a';
if (ispunct(a))
printf("The character is a punctuation.");
else
printf("\nThe character is not a punctuation.");
if (ispunct(b))
printf("\nThe character is a punctuation.");
else
printf("\nThe character is not a punctuation.");
return 0;
}
실행 결과
The character is a punctuation. The character is not a punctuation.
코드 설명
위 예제에서 변수 a에는 느낌표('!')가 저장되어 있으므로 ispunct() 함수가 참을 반환해 "구두점입니다"라는 메시지가 출력됩니다. 반면 변수 b에는 알파벳 'a'가 저장되어 있기 때문에 구두점이 아니라는 메시지가 출력됩니다.
이처럼 ispunct() 함수는 입력된 문자가 구두점인지 손쉽게 판별할 수 있어, 문자열 파싱이나 입력값 유효성 검사 등 다양한 상황에서 유용하게 활용됩니다.