사용자가 아스키 코드값을 입력하면 그 아스키 코드값에 해당하는 문자를 출력하는 프로그램을 작성하라.
HINT : 문자를 출력하려면 형식 지정자 %c를 사용한다. 정수를 받아서(char)로 형변환하여 %c로 출력한다.
#include <stdio.h>
void main() {
char ascii;
printf("아스키 코드값을 입력하시오 :");
scanf("%d", &ascii);
printf("문자: %c입니다.\n\n", ascii);
}
실행 결과 위 런타임에러가 떠버렸다. 검색결과 뭔가 하니, 내가 char형으로 선언한 ascii 변수에 실제로 선언된 크기보다 큰 크기인 int형의 값을 넣으려고 해서 생긴 에러라고 한다.
그래서 수정한 결과,
#include <stdio.h>
void main() {
int num;
char ascii;
printf("아스키 코드값을 입력하시오 :");
scanf("%d", &num);
ascii = (char)num;
printf("문자: %c입니다.\n\n", ascii);
}
잘 돌아간다. num 변수 써서 정수형 따로 받고, acii는 (char)로 형변환하는 것.