79brue   9달 전

아래 코드에서 S, P, R을 맞게 입력해도 return 0으로 빠져나가서 엉뚱한 값이 나오네요.

return 0 제외했을때는 문제의 예제 결과가 TIE, Player 2, TIE로 나옵니다. 정반대의 결과죠. 

아무리 코드를 살펴봐도 원인을 찾을 수 없네요.

왜일까요?

indioindio   9달 전

scanf("%d", &s); 후의 개행문자가 scanf("%c %c", &a, &b);의 a에 들어가기 때문인 것 같습니다

scanf(" %c %c")으로 뉴라인 등의 whitespace를 하나 없애시면 될 것 같습니다.

79brue   9달 전

오 생각도 못했네요!

일단 적용해보고 덧글 남길게요!

79brue   9달 전

뭐 그게 주요 원인은 아닌 것 같지만 답변 감사드립니다!

indioindio   9달 전

흠 혹시 scanf("\n%c %c", &a, &b)로 제출하신건가요?

scanf(" %c %c", &a, &b)로 제출하니 정답이 되네요.

개행문자가 \n뿐 아니라 \r 일 수도 있습니다.

79brue   9달 전

?!!

저는 그렇게 제출해서 오답 떴는데요?

뭐지...

79brue   9달 전

아 오타났구나

덕분에 정답입니다

감사드립니다!

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