인프런 커뮤니티 질문&답변

gns님의 프로필 이미지
gns

작성한 질문수

홍정모의 따라하며 배우는 C언어

3.10 문자형

3.10 문자형 백스페이스 질문입니다!

작성

·

370

0

강의 약 8분 18초 쯤, '\a'를 8진수와 16진수로 출력하는 과정에서 8진수앞에는 접두사 0을 붙혔는데 16진수앞에는 왜 x만 붙힌건가요..? 16진수 접두사는 0x라고 들었던것 같은데 직접해보니 '\0x7'은 그냥 7이 나오고 '\x7'은 백스페이스 소리가 나는 이유가 궁금합니다!

답변 1

1

원래 그렇게 표기합니다.

접두사 0을 붙임으로써 8진수라고 표기하는 것이고

접두사 0x를 붙임으로써 16진수라고 표기하는 거에요 :)

int main()
{   
    //10진수 출력
    printf("%d\n", 10);
    printf("%d\n", 010);//8진수 10(8진수) = 8+0 = 8
    printf("%d\n", 0x10);//16진수 10(16진수)16+0 = 16
    return 0;
}
gns님의 프로필 이미지
gns
질문자

답변 감사합니다! 말씀하신것처럼 16진수의 접두사가 0x인걸로 알고있는데, 강의 8분 20초에 16진수로 숫자 7을 받는데 0x7이 아닌 x7을 사용해서요 왜 그런지 이유를 알고싶습니다.

gns님의 프로필 이미지
gns

작성한 질문수

질문하기