[C] 백준 10951번 : A+B - 4
2020. 6. 7. 09:08
두 정수 A와 B를 입력 받은 다음 A+B를 출력하는 프로그램으로, 문제는 아래와 같다.
앞선 A+B의 문제들과는 다르게 이 문제에서는 프로그램 종료에 대해 특별히 명시해 놓은 것이 없다. 처음에는 그저 테스트 케이스를 입력하면 되겠거니 싶었는데 다른 사람들이 블로그에 풀이를 해놓은 것을 몇개 찾아보니 이 문제는 EOF에 대한 개념을 익히기 위한 문제라는 것을 알게 되었다.
EOF이란, End Of File을 의미하며 파일의 끝을 알려주는 입력을 말한다. 보통은 파일의 끝에 다다르면 자동적으로 그 입력이 실행되어 종료가 되지만 이 문제의 경우 별도로 그런 파일이 없기 때문에 ctrl+Z 라고 생각하면 된다.
즉, 위의 문제에서는 입력된 테스트 케이스들의 합을 출력하되, 파일의 끝을 알려주는 명령(ctrl+Z)을 입력하면 while문이 종료되도록 프로그램을 작성하면 해결된다.
#include <stdio.h>
int main(){
int A=1, B=1;
//EOF(ctrl+Z)가 아닐 경우 while문 속의 코드를 반복 실행
while(scanf("%d %d", &A, &B) != EOF){
printf("%d\n", A+B);
}
return 0;
}
위의 코드에서 scanf("%d %d", &A, &B) 코드가 while문의 조건 괄호 안에 들어갔는데도 해당 코드가 계속해서 반복된다는 점을 새로 알게 되었다.
백준에 제출하니 정답처리 되었다.
'Programming > BOJ' 카테고리의 다른 글
[C] 백준 10039번 : 평균 점수 (0) | 2020.08.25 |
---|---|
[C] 백준 1110번 : 더하기사이클 (0) | 2020.08.25 |
[C] 백준 10952번 : A+B - 5 (0) | 2020.06.03 |
[C] 백준 10871번 : X보다 작은 수 (0) | 2020.06.03 |
[C] 백준 2439번 : 별 찍기 - 2 (0) | 2020.06.02 |