문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
입력의 마지막에는 0 두 개가 들어온다.
출력
각 테스트 케이스마다 A+B를 출력한다.
<코드>
int main()
{
int a = 1, b = 1; //
while (1) // 무한루프로 계속 돌린다.
{
scanf("%d %d", &a, &b); //사용자로부터 값을 받는다.
if (a == 0 && b == 0) // 종결조건 (예외 처리)
break; // 위에 조건이 맞으면 빠져나오고
printf("%d\n", a + b); // 아니면 계속해서 받은 값을 출력해라.
}return 0;
}
<코드 설명>
기본적으로 for문과 유사하게 반복문이라는 메커니즘을 갖고있지만 조금은 양식이 다르다. 그동안 배웠던 for문은 기본 형식이 다음과 같다.
반면에 while문은 형태가 조금 더 간단하다.
두 개의 반복문은 본질적으로 그렇게 큰 차이는 없지만 for문은 초기식에 따른 변수에 따라 조건식을 검사하기 때문에 좀 더 유연하게 활용할 수 있다.
반면에 while문은 단순한 반복을 하고자 할 떄 사용하는 경향이 있다. 쉽게 말해 for문의 조건식만 있는 것이 while문이라고 보아도 무방하다.