fgets 함수에 대해 질문드립니다.
똘끼
structperson
{
char name[10]
char age[10]
char phone[10]
char adress[20]
} number[10];
.
..(생략)
..
.
fgets(number[i].name,sizeof(number[i].name),stdin);
printf(나이를 입력하여주세요 : );
fgets(number[i].age,sizeof(number[i].age),stdin);
printf(전화번호를 입력하여주세요 : );
fgets(number[i].phone,sizeof(number[i].phone),stdin);
printf(주소를 입력하여주세요 : );
fgets(number[i].adress,sizeof(number[i].adress),stdin);대략 이렇게 소스를 짜봤습니다. 그리고 입력을 받는데 만약 처음 number[1].name 여기에 입력할때
입력 값을 abcdefghijklmnop 이렇게 준다면 fgets에 특성에 따라 문자 10번째 문자 j부터는 삭제된다고 알고있씁니다.
그런데 실제로 실행하면 알파벳 j 이후부터는 number[i].age) 속으로 들어가버리네요.
그래서 값을 출력해보면 은 abcdefghi 이고 은 jklmnop 이렇게 나옵니다...
그리고 이 함수는 줄을 자동으로 바꿔준다고했는데 너무 많이 입력해서 그런지 줄도 않바꾸네요...
왜 이렇게 되는건가요?? 그리고 해결책이 있을까요?