본문 바로가기

C언어/백준 알고리즘

[백준/C언어] 10951번 A+B - 4

문제

 

코드
#include <stdio.h>	// 라이브러리 호출
	
int	main(void) {	// int 형식의 main 함수 설정

	int a, b;	// a,b를 정수형으로 선언하고 초기화

	// while문을 사용하는데 eof의 개념을 모르면 무한루프로 출력된다.
	// EOF란 End Of File의 약자로 파일의 끝에 도달할 때 까지 while문을 실행한다는 의미이다.
	while (scanf("%d %d", &a, &b) != EOF) {
		printf("%d\n", a + b);
	}
	return 0;	// int형 함수를 0을 호출하여 정상 종료
}

 

해석

1행 : 라이브러리를 호출한다.

2행 : main 함수를 int형으로 설정한다.

3행 : a와 b를 각각 정수형으로 선언하고 초기화한다.

4행 : while문을 사용하여 반복한다. 그리고 EOF를 사용해서 종료한다.

5행 : 입력받은 a와 b를 더하고 출력한다.

6행 : int형의 함수를 0을 호출하여 정상적으로 종료한다.

 

 

참고사항

for문을 사용해서 A+B를 해보았으니 조금 더 풀어보자 하는 마음에 다음 문제를 진행해보았다.

근데 테스트케이스를 입력해서 몇 번을 반복하게하라는 말이 없어서 어떤 방식으로 돌아야하는건지 생각했다.

while이고 if고 do고 생각을 해봤는데 어떻게 해야할지를 모르겠어서 인터넷 형님들의 도움을 받았다..

 

그렇게 검색을 해보니 EOF라는 것이 필요했다.

 

먼저 EOF란 End Of File의 약자 파일의 끝을 표현하기 위해 컴파일러 안에서 정의해 놓은 상수이다. (-1의 값을 가지고 있다.) 사용 방법은 "Ctrl + Z"를 누른 후 엔터를 입력면 종료된다. "Ctrl + Z"를 누르고 엔터를 눌러도 종료가 되지 않을 땐 이 방법을 여러번 하면 종료된다. 

 

백준 문제를 풀이하다 보면 최대 몇개의 입력 값이 들어오는지 모르는 문제에 주로 사용된다.

백준 문제 풀이를 계속 하려면 꼭 기억해두는 것이 좋겠다!

 

'C언어 > 백준 알고리즘' 카테고리의 다른 글

[백준/C언어] 1330번 - 두 수 비교하기  (0) 2023.11.16
[백준/C언어] 10926번 - ??!  (0) 2023.11.16
[백준/C언어] 10950번 A+B - 3  (0) 2023.11.16
[백준/C언어] 1001번 A-B  (0) 2023.11.16
[백준/C언어] 1000번 A+B  (0) 2023.11.16