이 문제는 문제 풀이의 조건에 끝나는 조건이 없다.
주어진 입력파일을 가지고 입력을 받을때 더이상 읽을 데이터가 없는경우 즉 파일의 끝일때를 EOF(end of file )이라고 한다.
이 문제는 더이상 읽을 데이터가 없을 때 반복문을 종료 시켜야 한다. 원래 scnaf함수는 엔터를 칠때마다 다음 입력으로 넘어가는데 사실 컴퓨터는 개행역시 하나의 문자로 받아서 처리하기 때문이다. 즉 우리가 문자열의 끝에 널을 넣어주는 느낌으로 입력할때 더이상 읽을게 없을때를 찾아야만한다. 입력을 끝까지 읽은 후에 그 다음거에 오는경우 EOF인 것이다. 일반적인 키보드에서는 EOF상태를 전송 할 수 없으므로 윈도우에서는 Ctrl Z
리눅스는 Ctrl + D이다. scanf에서는 끝에 도달하면 -1을 반환하고 와일문의 조건을
while(scnaf("%d",&a)!=-1)
이런식으로 주면 된다.
728x90
'알고리즘 기초시절' 카테고리의 다른 글
백준 4673번 셀프넘버 문제(C언어) (0) | 2023.01.03 |
---|---|
백준 8958(C) strlen함수사용 (0) | 2023.01.03 |
백준 11655번 ROT13(C++) (0) | 2022.12.30 |
백준 1159번 농구경기 (C++) (0) | 2022.12.30 |
백준 10988번 팰린드롬인지 확인하기(C++) (0) | 2022.12.29 |