cequala   3년 전

첨부한 코드는 일단 작동합니다. 그런데 초기에는 j for문에서 주석처리해놓은 것처럼 코드를 짜놨는데, 테스트 결과 컴퓨터가 if문 자체를 못 알아듣더군요. 주석처리한 코드대로 하자면, j == 7일 때는 char 배열 ns의 7번째 주소를 가리키게 되고, 그것은 바로 6이 됩니다. 이는 주석처리되지 않은 if (ns[j] == '6')과 완전히 같은 의미라고 생각하는데, 왜 전자는 안 되고 후자는 되는 것인가요?

rain7i   3년 전

j가 7보다 작을때 28번째 줄의 조건에 맞아서 밑에 코드를 실행하면 break 때문에 for문 자체를 빠져나와서 그 이후 j==7일때 자체가 실행이 안되는거 같아요

cequala   3년 전

rain7i님, 답변 감사합니다만 말씀하신 부분이 문제가 되는지는 잘 모르겠습니다. 22줄의 if문은 입력된 문자의 i번째 글자가 배열 ns의 j번째 원소와 같을 때 실행됩니다. j < 7일 때 이 if문을 통과한다면, 입력된 문자의 i번째 글자가 ns의 0 1 2 3 4 5 중 하나라는 건데, 이 때는 28줄의 else문이 실행되는 것이 제 의도에 맞습니다. 그 이후에는 입력된 문자의 i번째 글자를 이미 체크했으므로, 30줄의 break로 j for문을 탈출합니다.

혹시 그 부분이 문제라면, 조금만 더 구체적으로 알려주실 수 있을까요?

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