입력으로 다음과 같은 수들을 넣어보시면 좋을 것 같습니다.
23~24, 37~38번째 줄에서 출력을 하기 때문에 잘못된 결과가 나오는 것 같습니다. (아래 반례들은 len1 ≠ len2인 경우입니다.)
10757번 - 큰 수 A+B
새로 제출하신 코드는 23~24, 37~38번째 줄을 제거하신 것 같습니다.
또 하나의 문제점은 출력 맨 끝에 '?' 같은 문자를 하나 출력한다는 것입니다. 이것은 for (i = len; i >=0; i--) 반복문에서 i = len일 때 발생합니다.
i = len이면 a[i], b[i]에 모두 널문자가 들어가 있어서 else 부분으로 들어가게 되고 이때 c[i] = 0 + 0 - '0' = -48로 저장됩니다.
따라서 for문에서 i의 초깃값이 len이면 안 될 것 같습니다. 어떻게 바꿔야 할지는 스스로 해결해 보시면 좋을 것 같습니다.
댓글을 작성하려면 로그인해야 합니다.
ehdbs20 3년 전
혹시 반례가 있을까요?
저 혼자서는 도저히 못찾겠어서 질문드립니다