아주 초보적인 질문입니다.

nayana의 이미지

#include <cstdio>
     
      int main()
      {
          
          char a = '☆';
          printf("%c", a );
     
          return 0;
      }


별모양의 특수 문자를 집어 넣었을때 다음과 같은 warnning 나옵니다.
warning: multi-character character constant
그리고 실행을 해보면 ? 나옵니다.
그래서 약간 수정 하였습니다.
  1 #include <cstdio>
      2
      3 int main()
      4 {
      5
      6     char *a = "☆";
      7
      8     printf("%s\n", a );
      9
     10
     11
     12     return 0;
     13 }

이렇게 하니까..제대로 별 모양이 나옵니다.
첫번째 코드도 문제가 없는것 같은데..왜 그러는지 의문이 됍니다.
고수님들 답변 부탁드립니다.
monpetit의 이미지

2바이트 문자 상수를 1바이트 문자형 변수에 대입하려고 하면 그렇게 되겠죠.

nayana의 이미지

아 그렇군요...
감사합니다. 빨리 무지해서 벗어 나야하는데^^