아무리 해도 뭐가 문젠지 모르겠어요

KimGiChan Reply 9 years 32 weeks ago
gets로 받았는데 왜 안되는지..
booksky Reply 9 years 32 weeks ago
이는 gets라는 함수의 특징때문입니다. gets는 \n이 나올 때까지의 모든 입력값을 받되, 마지막에 오는 \n값까지 문자열에 포함시키게 됩니다. 그러면 ABCDE xyz 같은 입력값이 들어와도 둘 다 마지막에 \n이 들어가있기 때문에 실제 정답은 -1이지만 5와 같은 결과값을 낼 것입니다.
KimGiChan Reply 9 years 32 weeks ago
ABCDE xyz 이렇게 입력해도 -1값만 뜨던데요
pichulia Reply 9 years 32 weeks ago
gets는 '\n'까지 읽지 않습니다. ABCDE\n 를 넣었다면 문자열에 'A', 'B', 'C', 'D', 'E', '\0' 순서대로 들어옵니다. 현재 코드가 틀린 이유는 다른 곳에 있습니다.. abcd aaaaaaaaaaaaaaaaaaaaaaa 를 넣어보시기 바립니다.
KimGiChan Reply 9 years 31 weeks ago
break;를 넣으니 되네요 감사합니다