문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
#include <iostream>
using namespace std;
int main() {
int a, b;
while(scanf("%d %d",&a,&b) != EOF) {
printf("%d\n",a+b);
}
}
반목문에는 for문과 while문이 있다.
for문을 주로 쓰는사람이 많을테지만, while문은 무한루프를 처리하기에 매우 용이하다.
하지만 무한루프가 되면 실행이 끝나지 않기때문에 break를 걸어줘야한다.
while의 ()안에 들어간 코드는 a와 b가 EOF가 될때까지 반복하기 위해 넣어줬다.
그리고 a+b를 출력해주면 된다.
EOF
EOF = End Of File 의 줄임말이다.
텍스트 파일을 불러왔을때, 텍스트 파일에서 더이상 받아올것이 없을때 -1을 입력받는다.
하지만 굳이 텍스트 파일이 아니라도, 입력문에서 아무것도 입력하지 않으면 -1을 입력받는다.
EOF = -1 이라고 간단하게 보면 될것같다.
(물론, 같지 않은 경우도 있다! 쉽게 개념 이해를 위해 이렇게 적은 것 이다.)
EOF를 몰라서 처음엔 -1을 써야하나? 아니면 조건문으로 break를 걸어줘야 하나? 하고 두 방법으로 했었다.
제출 후, 다른 사람의 코드를 보면서 EOF를 알게되었고, 나중에 while문을 사용 할 시 유용할 것 같다.
'PS > 백준' 카테고리의 다른 글
백준 / String(문자열) / 1157번 / 단어 공부 / C++ (0) | 2020.05.27 |
---|---|
백준 / String(문자열) / 2675번 / 문자열 반복 / C++ (0) | 2020.05.27 |
백준 / String(문자열) / 10809번 / 알파벳 찾기 / C++ (0) | 2020.05.27 |
백준 / String(문자열) / 11720번 / 숫자의 합 / C++ (0) | 2020.05.26 |