2675번 - 문자열 반복
예제와 같이 올바르게 출력이 되었으며, 문자열을 입력받아 다른 배열로 문자열을 할당하는 것이 아니라 반복문을 통해 출력하는 형식으로 구현했는데
문자열로 출력하지 않아서 틀렸다고 뜨는 건지.. 어디가 잘못된건지 잘 모르겠습니다.
(혹시나 문제 기호 중 출력이 되지 않는 것이 있나 싶어 전부 확인했으나 올바르게 출력도 되었습니다)
문자열의 길이는 b가 아니므로 11번째 줄의 반복문 범위가 잘못되었습니다.
예제의 경우 널 문자들이 출력되고 있지만, 투명해서 눈에 보이지 않을 뿐입니다.
출력할때
예제는 aaabbbccc(NULL문자)인데, 저의 경우는 aaabbbccc만 출력했기에 틀린것이다.
라고 이해하면 올바르게 이해한 것인가요??
그 반대입니다.
첫 번째 예제는 길이도 3이고 반복 횟수도 3이므로 출력이 올바르게 됐습니다.
문제는 두 번째 예제인데, 올바른 예제 출력은 /////HHHHHTTTTTPPPPP지만, 질문자님의 코드는 /////HHHHHTTTTTPPPPP(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)가 출력되고 있습니다.
제가 조금 착각했는데, 널 문자는 10개가 아니라 5개 출력되고 있습니다.
답변 정말 감사합니다. 추가로 궁금한점이 있어서..
혹시 올바른 예제출력은 (널문자) 하나는 출력되어야 하지 않나요?
/////HHHHHTTTTTPPPPP -> /////HHHHHTTTTTPPPPP(널문자)
그리고 이 소스 코드를 올바르게 고치기 위해서는 범위 바꾸는 것만으로 가능할지 여쭤보고 싶습니다.
널 문자의 출력을 요구하는 문제는 없습니다. 널 문자는 프로그램이 내부적으로 문자열의 끝을 표시하기 위해 가지고 있는 문자일 뿐입니다. 널 문자는 단 한 개도 출력되어서는 안 됩니다.
그리고 범위만 바꾸면 되는 것 맞습니다.
11행 b를 strlen(str)으로 수정함을통해 올바른 소스 코드를 찾았습니다. 감사합니다.
이 문제에서 제가 놓쳤던 부분이 출력이 동일한 것 처럼 보였으나, 보이지 않는 널 문자까지도 함께 출력과 반복이 진행되어서 틀렸던 것이었네요.
감사합니다
댓글을 작성하려면 로그인해야 합니다.
kjs89271s 2년 전
예제와 같이 올바르게 출력이 되었으며, 문자열을 입력받아 다른 배열로 문자열을 할당하는 것이 아니라 반복문을 통해 출력하는 형식으로 구현했는데
문자열로 출력하지 않아서 틀렸다고 뜨는 건지.. 어디가 잘못된건지 잘 모르겠습니다.
(혹시나 문제 기호 중 출력이 되지 않는 것이 있나 싶어 전부 확인했으나 올바르게 출력도 되었습니다)