• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

C 언어 연습 도중 질문

22.03.04 13:46 작성 조회수 284

0

여기서  출력을 하면 t.number와 t.grade 는 잘 나오지만 t.name 부분에서 "hell" 까지만 출력이 됩니다. 

그래서 struct 부분에서 char name [10]; 으로 선언하니 다시 "hello"라고 잘 출력이 됩니다. 어디서 문제가 있는 걸 까요??

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2022.03.04

안녕하세요 :)

strcpy로 복사할 문자열의 크기보다

선언된 문자의 크기가 작아서 그렇습니다.

(일부 문자열이 잘 나오는 것 같아도, 이는 잘못된 예시입니다.)

넉넉하게 char[10]로 잡아주어야 (\0까지 포함하여) 모든 문자열이 복사되는 것이지요.

감사합니다.