문자열 입출력함수질문입니다

질문 제목 : 문자열 입출력함수질문입니다밑의 소스를 실행시키고 주민번호 앞자리에 123456 을 입력하면
출력결과로
주민번호 앞 6자리를 입력하세요: 123456
이름을 입력하세요: 주민번호앞자리:123456
이 름:

이렇게 나옵니다.
그런데 12345를 입력하면 이름까지 입력받고 제대로 출력되네요

분명 변수 id는 주민번호 앞 6자리에 NULL문자 포함 7자리로 알맞게 선언해주었는데
왜 5자리밖에 읽어들이지 못하지용?

질문 내용 :
#includestdio.h
main(){

char id[7]; //주민번호앞 6자리 + NULL =7
char name[10];

fputs(주민번호 앞 6자리를 입력하세요: , stdout);
fgets(id, sizeof(id), stdin);

fputs(이름을 입력하세요: , stdout);
fgets(name, sizeof(name), stdin);
printf(주민번호 앞자리: %s\n, id);
printf(이 름: %s\n, name);
}

댓글 1

  • Creative 2026.05.30

    아마도 개행도 포함하기 때문 일 것입니다.

    주민번호6+개행1+Null1 = 8 아마도 이럴 것 입니다.

C언어 다른 글

목록