728x90
문제를 풀다 보면 입력을 얼마나 받는지 모를 때가 있습니다.
EOF
End of File, EOF 값은 -1로 stdio.h에 정의되어 있습니다.
#define EOF -1
scanf는 성공적으로 입력받은 문자를 return 하는데,
에러가 있거나 파일 끝을 만났을 때(EOF) -1을 리턴합니다.
파일의 끝까지 입력 받으려면 다음과 같이 작성합니다.
while(scanf("%d", &n) != EOF)
while(scanf("%d", &n) != -1)
while(~scanf("%d", &n))
만약 scanf로 a, b를 모두 성공적으로 받을 경우 2를 return 합니다.
while(scanf("%d %d", &a, &b) != EOF)
while(scanf("%d %d", &a, &b) == 2)
C++에서 EOF를 만나면 cin.eof() 값이 true가 됩니다.
while(true){
cin >> a >> b;
if(cin.eof()) break;
}
int a, b;
while(cin >> a >> b) {
...
}