문자열의 끝에는 항상 널 문자가 들어가야 합니다. 이건 입력을 받을 데나 출력을 할 때, 또는 strlen을 할 때 등등 모두 마찬가지입니다.
문제에서 주어지는 문자열의 길이가 최대 20이므로 str의 크기는 최소 21 이상이 되어야 scanf 함수가 그 뒤에 널 문자를 넣어줄 공간이 있게 됩니다.
또한 출력을 할 때에도 이 널 문자 때문에 최소 len*r+1바이트가 필요하고, len*r번째 인덱스에 널 문자를 직접 대입해줘야만 printf 함수가 이 문자열의 끝이 어딘지 판단을 할 수 있게 됩니다.
kth1322 1년 전
답은 잘 나오는데 왜 틀린건가요?