10926번 - ??!
string 으로 선언하면 맞고, char 배열로 선언하면 틀리는데 이유를 잘모르겠습니다...
일단 오답 코드에서 ID 변수가 무엇인지 선언하지 않으셨습니다.
또한, char ID[7];로 코드를 고친다고 해도, 여기서 선언하신 배열의 크기가 너무 작습니다. 문제에서 입력은 50자를 넘지 않는다고 했습니다. 즉, 입력이 7자 이상이 올 수 있다는 의미입니다. char[7]은 이 입력을 담기엔 너무 작은 공간입니다. 그래서 그렇습니다.
그건 문자열의 맨 끝에는 문자열의 끝임을 표시해주는 널 문자 \0가 와야 하기 때문일 겁니다. 그래서 char[50]은 길이 50자의 문자열을 저장하지 못합니다.
길이 최대 50자의 입력을 받을 때엔 여유 있게 공간을 더 줍니다. 55칸이라거나 60칸이라거나 아예 넉넉하게 1000칸을 준다거나
감사합니다 char ID[51]로 바꾸어 주니까 되네요.
멍청하게 null값 감안 안하고 계속 50으로 해서 틀렸었는데 이제 되네요. 문제 자체를 이해 하는게 부족했나봅니다..
감사합니다.
ps :어... 원본 댓글 지웠는데. 원본 댓글은 제가 char[50]해도 안되서 따지는 내용이였습니다.
원 댓글: 일단 ID변수 선언 안 한건 오타예요. char ID[50];으로 바꿔주어도 틀렸다고 뜨네요;;
바로 알림이라도 간 건지... 창피해서 지웠는데 죄송합니다.
ㅋㅋㅋ 그때 온라인이었어서 지워진 댓글 보고 추가로 댓글 달은 거였습니다
그럼 수고하세요
댓글을 작성하려면 로그인해야 합니다.
wlgh5014 2년 전
string 으로 선언하면 맞고, char 배열로 선언하면 틀리는데 이유를 잘모르겠습니다...