맞은 이유를 모르겠습니다 ㅋㅋ
일단 교과서 대로 푼다음 제가 다시 짜보았는데요
처음에는 계속 안되더니 처음 for문 끝난뒤 ff == EOF를 추가 하니깐 작동이 되네요...
제가 아직 scanf를 잘 몰라서 그런거 같기도한데
scanf("%s", str)의 경우
예를 들어 +434EOF를 입력 받았을때 str에 +434을 저장한뒤
EOF를 리턴하나요?
음 ff를 추가 하는게 아니라 그냥 마지막에 i--; 를 조건없이 시켜도 맞네요..
음?....
scanf("%s",str)을 이용해서
+434EOF
가 있다면
처음에는 str에 +434를 저장한 뒤 1을 리턴합니다.
그 다음에는 str에 +434가 저장되있는 상태를 유지하며(str이 변경되지 않으며) -1을 리턴합니다.
scanf에서 return하는 값은 "읽는데 성공한 변수의 개수"입니다. EOF는 특별한 친구니까 -1을 리턴하는거고요