[C언어 코드업 문제풀이] CodeUp 1021 : [기초-입출력] 단어 1개 입력받아 그대로 출력하기(설명)

C언어 입출력 단어 1개 입력받아 그대로 출력하기 문제 풀이 해답입니다.

 

1. 문제 설명

 

1개의 단어를 입력받아 그대로 출력해보자.

 

2. 입력

 

한 단어가 입력된다.(단, 단어의 길이는 50자 이하이다.)

문자를 50개 저장하기 위해서는 char data[51] 로 선언하면 된다.

char data[51]="";
scanf("%s", data);

를 실행하면, data[51] 에 한 단어가 저장된다.

 

3. 출력

 

입력된 단어를 그대로 출력한다.

 

4. 입력 예시

 

Informatics

 

5. 출력 예시

 

Informatics

 

6. 문제 풀이

 

#include<stdio.h>
 
int main(void)
{
    char data[51]="";
    scanf("%s",&data);
    printf("%s", data);
 
    return 0;
}

 

배열에 문자를 입력하여 출력하는 예제입니다. 

입력 조건에 한 단어가 입력된다.(단, 단어의 길이는 50자 이하이다.)라는 조건이 있습니다. 그러면 char data[50]으로 알고 있지만 문자열 맨 마지막에 붙는 NULL문자까지 포함하여야 하므로 char data[51]로 배열 크기를 잡아주셔야 합니다.

 

혹은 scanf가 아닌 scanf_s를 사용하는 경우

#include<stdio.h>
 
int main(void)
{
    char data[51]="";
    scanf_s("%s",&data,sizeof(data));
    printf("%s", data);
 
    return 0;
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

 

 scanf_s("%s",&data,sizeof(data))에서 sizeof(data)로 데이터 입력 크기를 지정해 주셔야 에러 없이 문자를 출력할 수 있습니다.

댓글()