C언어 ASCII 문자 검사 함수 반환 값 분석

필자의 대학 생활 도중, C언어 수업 때 교수님께서 의문이 드셨던 적이 있었다.

C언어에서 제공하는 문자 검사 함수는 조건이 맞으면 0이 아닌 값을 반환한다.

강의 도중에서는 0이 아닌 값으로 16이 나타났다. 여기에서 필자가 교수님의 의문을 풀어드리고자 각 문자의 코드 값(0~127)에 대하여 반복문을 통해 함수를 호출해보았다. 그리고 결과를 교수님께 보내드렸고, 앞으로도 자기 주도적 학습 태도를 유지하라고도 부탁 하셨다. 또한, 중간고사가 끝나고 분석 결과에 대하여 발표도 하였다.

C언어 ASCII 문자 검사 함수 목록

ASCII 문자 검사 함수 목록 및 반환 값 (GCC 기준)

위 표를 보면 아마도 문자 분류에 따라 값이 달라지는 것 같다고 생각되었다. 항상 같은 값만 반환하는 것이 아니라 0이 아닌 값이라는 함정에 빠질 뻔했다. 참고로 C에서는 0이 아닌 값은 true로 간주되므로 상관은 없을 것이다.

댓글 남기기