티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 11718번 그대로 출력하기

https://www.acmicpc.net/problem/11718

 

11718번: 그대로 출력하기

입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시

www.acmicpc.net

* 사용언어 : C언어, C++

 

1. 문제

입력 받은 대로 출력 (최대 100줄, 각 문자열 최대 100글자)

 

2. 풀이

입력은 fgets 함수를 이용했습니다.

scanf 함수는 ' '(space), '\t'(tab), '\n'(enter) 모두 구분자로 사용하는데

fgets 함수는 '\n'(enter) 만을 구분자로 사용하기 때문에 이 문제에 적합합니다.

 

함수의 두 번째 매개변수는 [해당 숫자 - 1] 만큼 문자를 입력받기 때문에 101로 하였습니다.

(마지막 한 자리에는 c언어 문자열의 마지막을 의미하는 '\0'이 들어갑니다)

 

또한, fgets 함수는 입력에 실패하면 '\0' 값을 return 하기 때문에,

추가 조건 없이 입력이 끝난 것을 확인할 수 있습니다.

 

3. 코드

#include <stdio.h>

int main() {
	char input[101];
	while (fgets(input, 101, stdin))
		printf("%s", input);
	return 0;
}
728x90
반응형
댓글