본문 바로가기

C C++ language

C언어 문자 아스키코드로 출력하는 방법 [with source]

읽어주셔서 감사합니다.

오늘은 C언어로 입력받은 문자를 아스키 코드로 출력하는 방법을 알아보도록 하겠습니다.


시작하기 전

C언어를 시작하는 분들 중에, 아래 코드를 다음과 같은 의미로 착각하는 경우가 있습니다

 

"문자를 아스키코드로 "변환"해 출력하는"프로그램

 

C언어 내에서 문자는 아스키코드로 절대 변환되지 않습니다.

C언어에서 문자는 곧 숫자입니다.

예들들어 'a'는 그 자체로 97을 뜻하고, 실제로 'a' + 4를 숫자로 저장하면 103이라는 숫자가 됩니다. 

단지 수를 문자/숫자로 출력하는 방법, 문자/숫자로 입력받는 방법이 존재할 뿐입니다.

 

단순 말장난이라 생각하실 수도 있고, 이해가 되지 않을 수도 있지만, 그냥 한번 알아가시면 좋을 것 같아서 써봅니다.


코드

간단한 코드입니다. 사용하실 분들은 Ctrl + C, Ctrl + V로 사용하시면 됩니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
	char c;
	printf("program start\n");
	while (1) {
		c = getchar();
		printf("ascii code : %d\n", c);
		while (getchar() != '\n') { ; }
		if (c == 'a') { break; }
	}
	printf("program finish");
	return 0;
}

 


사용방법

입력 : 문자 + enter

출력 : ascii code : 입력한 문자의 아스키 코드

종료 : 입력한 문자가 a라면 종료

 

+ 한번에 여러 문자가 입력되었다면 첫 문자만을 출력함


실행화면