oda   7년 전

앞뒤 공백을 제거한 뒤에 Chk_Str() function으로 단어의 수를 반환하였습니다.

런타임 에러가 나는데 어느 부분에서 나는 건지 짐작이 가지 않습니다.

어느 부분이 문제일까요?

zlzmsrhak   7년 전

공백만 있는 문자열이 입력으로 들어오는 경우 문제가 생길 수 있는 것 같습니다.

oda   7년 전

zlzmsrhak 님에게


위의 코드로 공백만 있는 문자열 여러가지로 확인해 보았을 때 0이 출력되고 있습니다.

기타 여러 문자열로 테스트 시에도 잘 출력되는데 무엇이 문제인지 모르겠네요..ㅠㅠ

zlzmsrhak   7년 전

malloc으로 잡은 배열의 크기가 너무 작은 것 같습니다. 1백만 문자를 입력받으면, 마지막 글자는 '\0'이어야 하기 때문에 1byte의 메모리 여유가 필요합니다.

oda   7년 전

zlzmsrhak 님에게

malloc(sizeof(char)*1000001) 으로 바꾸니 맞았습니다. 그 부분을 생각하지 못했군요..

감사합니다!

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