• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

3.7 강의 질문입니다.

20.09.20 01:52 작성 조회수 128

0

다른 출력값들은 정확히 출력이 되는데

printf("short = %hhd, %hd, %d\n", s, s, s);

short  %hhd에도  200  이 나오는게 궁금합니다.

온라인 컴파일러에는 값이 이상없이 나옵니다. gcc컴파일러 문제일까요?

구글링을 해보니  %hhd 는 1바이트 정수를 받는 서식지정자이고  short는 2바이트이니 값이 다르게 나와야 되는게 맞는거죠?

제가 어디서 부터 잘 못 했는지 잘 모르겠습니다.. 

항상 질문 답변 해주셔서 감사합니다.

답변 1

답변을 작성해보세요.

1

Hello Yeo님의 프로필

Hello Yeo

2020.09.20

안녕하세요?
따로 명시되지 않은 것은 컴파일러마다 다르게 나타날 수 있습니다.
코드 상으로는 overflow 를 유도하신 것이니 이해하신 것은 맞습니다.