jupiter   5년 전

제가 생각했을땐 ,, getchar 함수가 한개씩 읽어올수있어서 

반복할때마다 SUM  에 저장하면 될거같아서 이렇게 해봤는데 

이상한 값이 저장되고 진행하다가 다시 입력값을 받습니다 . 

gerchar 함수가 '문자'를 한개씩 읽어와서 이런현상이 발생하는걸까요  ?ㅠㅠ 

이문제의 다른 해결방법은 알았지만 ,, 이게 왜 이렇게 되는지 궁금해서 여쭤봅니다

seico75   5년 전

3가지 문제가 있어 보이네요.

  1. b를 왜 읽죠?  b에 숫자가 들어가면서 getchar 은 읽은 것이 없어지네요..
  2. getchar 은 개행문자까지 포함해서 읽습니다. 그래서 19라인을 지워도 처음에는 \n 을 읽습니다.
  3. getchar 은 문자를 읽습니다. 따라서 12345 에서 (개행문자는 지나쳤다고 생각하고..) 처음 읽으면 '1'이 읽힙니다. 1이 아니라...  따라서 getchar() - '0' 해야 합니다.

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