C언어 한글 입력 질문이요..

jex의 이미지

c언어에서 한글 입력을 하고 출력을 할 때 문제가 생겨서요.
요약에 쓴대로 코딩을 하면서 '가'라는 글자를 letter 배열에 저장을 하고
출력을 하는데 글자 자체는 출력이 잘 되는데반해 %x를 이용해서 16진수로 출력을 하니

b0a1이 아니라
ffffffb0ffffffa1
이렇게 f가 앞에 붙어서 출력이 되네요..
그래서 계속 오류가 나는데 어디서 에러가 나는걸까요?ㅠㅠ

#include <stdio.h>
 
int main(void)
{
	char letter[5]={"가"};
 
	printf("%c%c, %x%x",letter[0],letter[1],letter[0],letter[1]);
 
	return 0;
}
File attachments: 
첨부파일 크기
Image icon 2.PNG3.04 KB
jex의 이미지

파일 첨부는 실행 파일을 캡쳐한 이미지입니다.

shint의 이미지

...

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

jex의 이미지

헐..
unsigned char로 변수를 만드니까 정말 되네요..
unsigned..메모리 효율만을 위해서 사용하는 줄 알았는데..

감사합니다.