지뢰찾기 문제 해설을 보고나서도 값이 이상하게 나와서 어디가 잘못인건지 알고 싶습니다.
, Human Rights님이 작성문의한 코드는 삭제합니다.
작성한 코드는 이러합니다. 결과물은 다른 줄은 다 잘 나오는데 맨 윗줄에 무작위 값처럼 떠버립니다. 분명 continue로 배재한다고 배재했는데 왜 적용이 안되는지 의문입니다.
(도장_ 관리자님이 수정함 - 원문 제출일: 금요일, 25 6월 2021, 5:06 오후)
Re: 지뢰찾기 문제 해설을 보고나서도 값이 이상하게 나와서 어디가 잘못인건지 알고 싶습니다.
, Human Rights님이 작성처음에 int c를 선언만 하였지 int c=0으로 세팅을 안해줘서 생기는 문제였습니다. 그래서 첫번째 줄 검사과정동안 c에 +1을 누적해도 애초에 쓰레기값에 누적을 시켜서 생기는 문제였습니다. 반복문 안에 다시 c=0을 해주는 프로그래밍은 되어 있어서 두번째 줄 부터는 제대로 작동하던 거였더라고요. 감사합니다. 근데 초반에 memset을 안할 경우에 scanf에 제대로 된 문자열만 입력하면 오류는 날 이유는 없을거 같은데. for문으로 memset을 하는 이유는 무엇인지 제가 지금 생각하지 못하고 놓치는 부분이 무엇인지 궁금합니다.
Re: 지뢰찾기 문제 해설을 보고나서도 값이 이상하게 나와서 어디가 잘못인건지 알고 싶습니다.
, 도장_ 관리자님이 작성제대로만 입력된다면 memset을 사용하지 않아도 됩니다.
다만, 입력이 정확하지 않은 경우를 대비해 방어적인 프로그래밍으로 초기화합니다.
보통은 1024바이트를 할당했으나 입력은 500바이트만 될 수 있고, 이 경우 초기화가 없다면 나머지는 쓰레기 값이라서 문제가 될 수 있습니다.
Re: 지뢰찾기 문제 해설을 보고나서도 값이 이상하게 나와서 어디가 잘못인건지 알고 싶습니다.
, Human Rights님이 작성아 미리 대비하는거군요 몇바이트가 들어올지도 모를수 있기 때문에 앞으로 memset으로 좀더 동적인 소스를 만들도록 하겠습니다. 감사합니다.