justking   6년 전

제가 신기한걸 알았는데요

24번줄을 scanf(" %c",&what);

이라고 고치면 답이나오는데 scanf("%c",&what); 이런식으로 %c 앞에 띄어쓰기를 한칸 없애면 제대로 답이안되네요 42번줄도 마찬가지구요 왜 이건 앞에 띄어쓰기를 해야 되는거에요?

djm03178   6년 전

scanf로 입력받을 시에 직접적으로 사용되지 않는 문자들(공백, 줄바꿈 등)은 버퍼에 그대로 남아있게 되는데, %c가 그것들을 사용하려고 해서 그렇습니다. 앞에 공백을 하나 넣어주면, 이러한 문자들을 버리고 입력을 받는 것으로 알고 있습니다.

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