• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

/0 앞에 띄워쓰기 유무로 자릿수가 변하나요?

23.07.16 14:12 작성 조회수 161

1

char str3[20] = "Hello,\0World";

char str3[20] = "Hello, \0World";


printf("%c\n", str3[10]); 의 값이

, 바로뒤에\0를 치면 l이고

, 하고 한 칸 띄고 \0을 치면 r입니다.

 

h = 0번째

e = 1번째

...

, = 5번째

\0 = 6번째

W = 7번째

o = 8번째

r = 9번째

l = 10번째

d = 11번째

 

중간에 띄워쓰기도 공백으로서 자릿수를 차지해서

위와 같은 결과가 나오는 걸까요?


답변 1

답변을 작성해보세요.

1

Soobak님의 프로필

Soobak

2023.07.16

안녕하세요, 답변 도우미 Soobak 입니다.

말씀하신 내용이 맞습니다.

문자 사이의 띄어쓰기(공백) 또한 하나의 문자로 카운트됩니다.
(공백 또한 문자로서, ASCII 코드가 32 인 문자입니다.)

따라서, "Hello,\0World""Hello, \0World" 는 서로 다릅니다.
전자에서는 str3[10]l 이며, 후자에서는 str3[10]r 이 됩니다.