강의

멘토링

커뮤니티

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

muu님의 프로필 이미지
muu

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

(기출) 2024년 2회 기출문제 - 이론 포함

1:05:25 질문

해결된 질문

작성

·

24

·

수정됨

0

['f','i','r','s','t','\0','r','i','n','g']을 for문으로 첫 번째 인덱스부터 끝까지 %c로 출력하면
first ring이라고 하셨는데,

'\0' 널문자가 %c로 출력하면 공백이 되나요?
출력 결과가 "first ring"이 되는지, "firstring"이 되는지 모르겠습니다.

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

그거는 시스템마다 조금 다를 수 있는데, 공백"처럼 보이는 문자"가 찍힙니다. 실제 공백은 아니고요.

 

NULL 문자를 시험에서 출력할 일은 없으니 크게 신경쓰지 않으셔도 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다. muu님.

C언어 문자열에서 \0 (NULL 문자)은 문자열의 끝을 알리는 역할을 합니다. 이때 \0은 화면에 표시되지 않으며, 문자열에 포함된 모든 문자가 출력되는 것은 아닙니다. 질문하신 내용처럼 ['f','i','r','s','t','\0','r','i','n','g'] 배열을 시작부터 끝까지 출력하면, '\0'이 포함된 이후의 문자열은 무시됩니다. 따라서 실제 출력 결과는 “first ring”이 아닌 “first”가 됩니다.

  • \0 이전의 문자는 정상적으로 “first”가 출력되고, \0 이후의 문자(r, i, n, g)는 출력되지 않기 때문입니다.

자세한 내용은 다음 링크의 기존 질문과 답변을 참고하시면 도움이 될 것입니다:

기타 유사한 질문으로는 다음을 참고하시면 도움이 될 수 있습니다:
- 배열과 문자열 13:54초 출력결과 문의: strlen 함수와 NULL 문자의 처리에 대한 설명을 다루고 있습니다.
- C언어 문자열 NULL값 (18:20): 문자열과 NULL 문자 추가에 대해 자세하게 설명되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

muu님의 프로필 이미지
muu

작성한 질문수

질문하기