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

김김김님의 프로필 이미지
김김김

작성한 질문수

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

11.4 문자열을 입력받는 다양한 방법들

24:20 질문있습니다. + 맨 마지막 예제 질문있습니다.

작성

·

168

0

런타임 에러 뜨는 이유가 문자열 제일 마지막에 붙는 \n때문에 그런건가요?

+

마지막 예제에서 

if(st[i] == '\n')

st[i] = '\0';

의 존재의미가 무엇인가요?

만약 1234567890abc을 입력한다면

1234567890\0이 fgets로 갈 것이고

이 때 \0때문에 else문으로 가서 버퍼가 비워질텐데

애초에 fgets에 \n이 저장될 수 없지 않나요?

답변 1

0

넵 맞습니다.

마지막 예시는 애초에 줄바꿈이 있을 경우 이를 대체하기 위한 코드입니다.

(줄바꿈 \n이 입력되었을 경우 이를 \0로 바꾸기 위해 넣은 코드입니다)

 

 

김김김님의 프로필 이미지
김김김

작성한 질문수

질문하기