wlgh5014   2년 전

string 으로 선언하면 맞고, char 배열로 선언하면 틀리는데 이유를 잘모르겠습니다...

bamgoesn   2년 전

일단 오답 코드에서 ID 변수가 무엇인지 선언하지 않으셨습니다.

또한, char ID[7];로 코드를 고친다고 해도, 여기서 선언하신 배열의 크기가 너무 작습니다. 문제에서 입력은 50자를 넘지 않는다고 했습니다. 즉, 입력이 7자 이상이 올 수 있다는 의미입니다. char[7]은 이 입력을 담기엔 너무 작은 공간입니다. 그래서 그렇습니다.

bamgoesn   2년 전

그건 문자열의 맨 끝에는 문자열의 끝임을 표시해주는 널 문자 \0가 와야 하기 때문일 겁니다. 그래서 char[50]은 길이 50자의 문자열을 저장하지 못합니다.

길이 최대 50자의 입력을 받을 때엔 여유 있게 공간을 더 줍니다. 55칸이라거나 60칸이라거나 아예 넉넉하게 1000칸을 준다거나

wlgh5014   2년 전

감사합니다 char ID[51]로 바꾸어 주니까 되네요.

멍청하게 null값 감안 안하고 계속 50으로 해서 틀렸었는데 이제 되네요. 문제 자체를 이해 하는게 부족했나봅니다.. 

감사합니다.

wlgh5014   2년 전

ps :어... 원본 댓글 지웠는데. 원본 댓글은 제가 char[50]해도 안되서 따지는 내용이였습니다.

wlgh5014   2년 전

원 댓글:    일단 ID변수 선언 안 한건 오타예요. char ID[50];으로 바꿔주어도 틀렸다고 뜨네요;;

                바로 알림이라도 간 건지... 창피해서 지웠는데 죄송합니다.                            

bamgoesn   2년 전

ㅋㅋㅋ 그때 온라인이었어서 지워진 댓글 보고 추가로 댓글 달은 거였습니다

그럼 수고하세요

댓글을 작성하려면 로그인해야 합니다.