fflush(stdin); 는 왜 하는 건가요? online judge 에 제출하는 코드 중에 fflush(stdin); 는 사용되는 걸 본 적이 없네요..
첫 번째 코드는 getchar() 로 받는 첫 번째 char 가 숫자가 아니라 enter 입니다. 그래서 틀리게 되는 것이고요.
두 번째 코드는 getchar() 로 받는 첫 번째 char 를 배열 0 에 넣고 나중에 더 할 때에 index 가 1 부터 n 까지 더하고 있고요. 그래서 맞습니다.
입력 처리시에 %d 를 계속 이용하는 경우에는 enter 유무를 skip 하고 integer 만 받을 수가 있는데,
이런 류의 문제는 n 은 %d 로 다 얻고, 다음 부터 숫자 1 개씩 (enter 무시) 얻기 위해서 %1d (1 개의 숫자만 꺼내서 int 에 저장) 해주시면 편합니다.
입력을 처리하는 여러 가지 방식을 잘 고려해 보시길 바래요~~~ : )
junyoung292 7년 전
두개의 코드모두 같은 결과를 나타내는 것으로 보이는데
위의 코드는 틀리는 반면 아래의 코드는 맞는것으로 결과가 나타납니다
무슨 차이인지 잘 모르겠습니다
아시는분 계시면 설명 부탁드리겠습니다.