#include<stdio.h>
#include<string.h>

struct Employee
{
char name[20];
char p_ID[15];
int annual_income;
};

int main(void)
{
struct Employee pers;
int i;

fputs("이름 입력: ", stdout);
fgets(pers.name, sizeof(pers.name), stdin);
fflush(stdin);

fputs("주민등록번호 입력: ", stdout);
fgets(pers.p_ID, sizeof(pers.p_ID), stdin);
fflush(stdin);

fputs("연봉 입력: ", stdout);
scanf("%d", &pers.annual_income);

printf("이름: %s, 주민번호: %s, 연봉: %d n", pers.name, pers.p_ID, pers.annual_income);

return 0;
}

질문입니다. 이렇게 코딩을 했거든요.. 그런데 출력하면
이름: 뭐뭐뭐, 주민번호: 뭐뭐뭐, 연봉: 뭐뭐뭐 <--이렇게 나와야 되는데...

이름: 뭐뭐뭐,

주민번호: 뭐뭐뭐,

연봉: 뭐뭐뭐   <--이렇게 나옵니다.

이렇게 저절로 \n이 삽입된 것 처럼 출력이 됩니다.

아마 fgets함수 받을때 엔터까지 먹혀들어가는 것 같은데

fgets함수는 원래 그런가요??