-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
문자 바이트 9가 나와야 하는데
18.08.15 21:49 작성 조회수 105
1
char kor[]= "나도코딩"
printf("%sn",kor);
printf("%dn",sizeof(kor));
위 코드를 출력하면
나도코딩
13
이라고 뜹니다... 9가 나와야 하는데 여러 번 반복해도 계속 13만 나오네요. 띄어쓰기 전혀 안 넣었는데도 왜 그런지 모르겠습니다...
답변을 작성해보세요.
2
나도코딩
지식공유자2018.08.16
안녕하세요 나도코딩입니다. 대개 한글은 2바이트지만 환경에 따라 한글이 2 바이트, 혹은 3 바이트로 달라질 수 있네요, 사용하시는 환경에서는 3바이트로 인식되어서 나도코딩 = 3바이트 x 4글자 = 12바이트에 맨 뒤에 널 문자를 넣어서 13바이트가 되겠군요. 검증을 위해서는 "나도코딩나도코딩" 이라고 입력했을 때 3바이트 x 8글자 + 널문자 = 25 바이트로 크기가 나옴을 확인하면 되겠습니다. 아래 링크 설명 일부 참고하세요 ^^
http://blog.hippolab.com/?p=61
감사합니다.
답변 1