1018번 - 체스판 다시 칠하기
map을 입력받고 나서 출력하면 맵이 이상하게 출력됩니다.
다른 분들의 코드를 확인해봤는데
scanf("%c",map[i][j]) 에서 %c앞에 공백이 있는것을 확인했습니다.
그래서 공백을 넣어서 다시 map을 출력해서 확인해 봤는데 이번엔 제가 입력한대로 맵이 출력됐습니다.
" %c"처럼 %c앞에 공백을 넣어주면 어떤작업이 이루어지는지 여쭤보고싶어요..
여기만 보여주면 안 되고, 그 앞부분이 중요합니다.
아마도 %d로 정수를 입력받으셨을 텐데, 말 그대로 정수만 입력받는 서식이므로 그 뒤의 개행 문자는 scanf가 읽지 않고 건너뜁니다.
그런데 %c는 개행 문자도 읽는 서식이므로 거기서 안 읽고 남겨둔 개행 문자를 같이 읽어버리는 것입니다. 또한 이 줄의 마지막도, 그 다음 줄의 마지막도 다 마찬가지입니다.
공백을 넣는 건 이런 화이트스페이스들을 모두 건너뛰라는 지시입니다.
댓글을 작성하려면 로그인해야 합니다.
pupafafa 4년 전
map을 입력받고 나서 출력하면 맵이 이상하게 출력됩니다.
다른 분들의 코드를 확인해봤는데
scanf("%c",map[i][j]) 에서 %c앞에 공백이 있는것을 확인했습니다.
그래서 공백을 넣어서 다시 map을 출력해서 확인해 봤는데 이번엔 제가 입력한대로 맵이 출력됐습니다.
" %c"처럼 %c앞에 공백을 넣어주면 어떤작업이 이루어지는지 여쭤보고싶어요..