djswpsk1024   3년 전

스크린샷 2017-02-13 오후 11.49.58.png
제가 scanf 사용해서는 성공했습니다가 떴는데,

fgets를 사용해 풀어 보고 싶은데, 

분명 xcode상으로는 값이 나오는데 왜 fgets를 사용해서 제출하면

틀렸습니다가 나오는지 이해가 안되네요 ㅠㅠ 도와주세요

luluctrl4   3년 전

100 대신 105 넣어봐여

yclock   3년 전

소스를 자세하게 읽지 않았습니다.


scanf나 gets는 입력으로 들어오는 문자열 끝의 개행 문자('\n')를 제거해줍니다.

그러나, fgets는 개행 문자를 따로 제거해 주지 않습니다.

이로 인해 발생하는 문제가 아닐까요.(?)

djswpsk1024   3년 전

luluctrl4 님처럼 사이즈를 변경하니 됐는데 이유를 여쭈어보아도 될가요???

luluctrl4   3년 전

fgets 할 때, 크기가 100이라서 100 이상 되는 문자열은 99개까지만 받고 마지막 100번째는 '\0' 으로 채워요.
크기를 100대신 5로 하시고 ABCDE 넣으시면  A B C D \0 받은 것으로 확인이 되요.

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