kjs89271s   2년 전

예제와 같이 올바르게 출력이 되었으며, 문자열을 입력받아 다른 배열로 문자열을 할당하는 것이 아니라 반복문을 통해 출력하는 형식으로 구현했는데

문자열로 출력하지 않아서 틀렸다고 뜨는 건지.. 어디가 잘못된건지 잘 모르겠습니다.

(혹시나 문제 기호 중 출력이 되지 않는 것이 있나 싶어 전부 확인했으나 올바르게 출력도 되었습니다)

djm03178   2년 전

문자열의 길이는 b가 아니므로 11번째 줄의 반복문 범위가 잘못되었습니다.

예제의 경우 널 문자들이 출력되고 있지만, 투명해서 눈에 보이지 않을 뿐입니다.

kjs89271s   2년 전

출력할때 

예제는 aaabbbccc(NULL문자)인데, 저의 경우는 aaabbbccc만 출력했기에 틀린것이다.

라고 이해하면 올바르게 이해한 것인가요??

djm03178   2년 전

그 반대입니다.

첫 번째 예제는 길이도 3이고 반복 횟수도 3이므로 출력이 올바르게 됐습니다.

문제는 두 번째 예제인데, 올바른 예제 출력은 /////HHHHHTTTTTPPPPP지만, 질문자님의 코드는 /////HHHHHTTTTTPPPPP(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)(널 문자)가 출력되고 있습니다.

djm03178   2년 전

제가 조금 착각했는데, 널 문자는 10개가 아니라 5개 출력되고 있습니다.

kjs89271s   2년 전

답변 정말 감사합니다. 추가로 궁금한점이 있어서..

혹시 올바른 예제출력은 (널문자) 하나는 출력되어야 하지 않나요?

/////HHHHHTTTTTPPPPP -> /////HHHHHTTTTTPPPPP(널문자) 

그리고 이 소스 코드를 올바르게 고치기 위해서는 범위 바꾸는 것만으로 가능할지 여쭤보고 싶습니다.

djm03178   2년 전

널 문자의 출력을 요구하는 문제는 없습니다. 널 문자는 프로그램이 내부적으로 문자열의 끝을 표시하기 위해 가지고 있는 문자일 뿐입니다. 널 문자는 단 한 개도 출력되어서는 안 됩니다.

그리고 범위만 바꾸면 되는 것 맞습니다.

kjs89271s   2년 전

11행 b를 strlen(str)으로 수정함을통해 올바른 소스 코드를 찾았습니다. 감사합니다.

이 문제에서 제가 놓쳤던 부분이 출력이 동일한 것 처럼 보였으나, 보이지 않는 널 문자까지도 함께 출력과 반복이 진행되어서 틀렸던 것이었네요.

감사합니다

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