입력이 1000000 은 가능합니다. gets() 는 마지막에 null character 를 쓰기 때문에 (reference 참조) 버퍼를 1000001 로 해주세요.
end 값이 설정이 안되고 garbage 값을 사용하는 경우가 생기겠네요..
너무 복잡하게 생각하지 마시고, 입력을 한 글자씩 확인하는 방식으로 space 개수로 단어의 개수를 알 수가 있으니 앞 뒤에 space 있는 경우도 처리할 수 있도록 해주시면 됩니다.
while ((c = getchar()) != EOF && c != '\n') {
...
}
znxnsken 4년 전