본문 바로가기
코딩/CodeUp

코드업 1022 : [기초-입출력] 문장 1개 입력받아 그대로 출력하기

by jsjin 2023. 6. 1.
728x90

공백 문자가 포함되어 있는 문장을 입력받고 그대로 출력해보자.

 

공백이 포함되어 있는 한 문장이 입력된다.
단, 입력되는 문장은 여러 개의 단어로 구성되고, 엔터로 끝나며,
최대 길이는 2000 문자를 넘지 않는다.

#include <stdio.h>

int main(){
    char data[2001];
    fgets(data, 2000, stdin);
    printf("%s", data);
    return 0;
}

scanf의 경우 문자열의 끝을 공백이나 엔터(개행)로 인지하기에

띄어쓰기가 있는 문자열을 입력받을 때 문제가 생긴다.

 

그러나 fgets 함수를 사용하면 공백이 포함된 문자열을 받아올 수 있다.

엔터(개행)이 입력되면 입력이 멈춘다.

 

fgets함수에 대해 쉽게 설명하면

fgets(저장할 배열의 주소, 값의 최대 개수, 값을 받아올 곳) 으로 선언할 수 있다.

stdin은 키보드 입력 값을 의미한다.

 

다른 방법으로는  gets 함수puts 함수를 사용할 수 있다.

#include<stdio.h>
int main()
{
    char chr[2100];
    gets(chr);
    puts(chr);
    return 0;
}
728x90