[백준/10951번/c언어]- A+B-4
처음 문제를 보았을 때 간단한 덧셈 출력 프로그램 같지만 35.702%로 엄청 낮은 정답비율을 보고 오잉?하며 접근했다
나름 while문도 써보고 for문도 고민해보며 시도해보았지만 3번 다 출력 초과....
도저히 답을 모르겠어서 네이버 검색을 해 본 후에야 알게되었다!
EOF = end of file
파일 끝 조건을 위한 컴퓨터 용어
즉 더이상 값을 읽지 못하는 상태이다
분명 수업시간에 교수님께서 설명을 하셨겠지만... 전혀 기억이 나질 않아서 검색을 좀 해보았다..하하..
네이버 지식백과에 의하면 운영체제에서 파일의 현재 위치를 알아낼 수 있도록 프로그램에서 파일의 맨 마지막에 위치시키느 코드! 반의어는 beginning of file이라고하는데...
어려운 이야기는 잠시 미뤄두고 문제 조건부터 살펴보자
조건을 아무리 살펴봐도 다른 문제들과는 다르게 종료 조건이 명시되어있지않다 그래서 무한루프도 이용해보고 오랜만에 c언어 책을 펴서 goto문에 대해서도 알아봤는데 영 통하지않아서... 고민을 좀 했다
여기서 사용되는게 eof!!
while문을 종료시키기 위한 조건이 바로 eof를 이용하는것이다
아래의 코드를 살펴보자
엄~~청 간단한 코드. 딱 8줄만으로 해결된다
난 while 문에 안에 scanf가 들어갈 수 있다는 것도 이번에 처음알게 되었다 EOF를 사용하는 법도!
다음부터 비슷한 조건의 문제를 만나거나 while문을 더 다양한 조건으로 사용해야한다면 오늘의 나보다는 더 빠르고 효율적으로 코드를 작성할 수 있겠다고 생각했다
이 문제는 내 힘으로 풀지 못했지만 그래도 두가지나 몰랐던 점을 배울 수 있어서 좋은 문제라고 생각하여 이렇게 기록해두게되었다!! 다른 사람들에게도 도움이 되기를 바란다