본문 바로가기

C 언어

[C 언어] 입력 함수 scanf(), getchar(), gets()

728x90
반응형

입력 함수란?

여러 종류의 데이터를 다양한 서식에 맞춰 입력받을 수 있도록 하는 함수를 의미

 

▶ scanf() 함수

formatted의 약자. 서식화된 입력을 받는다는 의미

 - C언어 표준 입력 함수에서 가장 많이 사용됨

 - 입력받은 데이터를 어떤 서식으로 변환할지 서식 지정자(format specifier)를 통해 직접 지정 가능

 - 비주얼 스튜디오에서 scanf() 대신 scanf_s()로 쓰기도 함

 

gets(), getchar() 함수

  gets() 함수

  - scanf() 함수와 비슷하지만, 문자형을 위해 새롭게 개발된 함수이다.

  - 띄어쓰기가 포함된 문자를 입력받을 수 있다.

  - 현업에서는 오류가 많아 사용이 금지되었으나 시험 문제로 한 번쯤 나올 수 있기 때문에 정리

 

  getchar() 함수

 - 엔터로 입력을 종료할 때 \n를 키보드 버퍼에 저장하는데, getchar()는 이 값을 없애줌

 

 

사용법

① scanf(), getchar(), gets() 함수가 포함된 헤더파일을 include

  #include <stdio.h>

 

 scanf() 함수

② scanf("", );

※ 변수가 int인 경우, &(주소 연산자)를 선언

  입력받은 데이터를 뒤에 나오는 변수에 저장하라는 의미. 변수를 사용할 때는 & 안붙여도 됨

 

 getchar(), gets() 함수

② getchar();

③ gets();

 

예시

#include<stdio.h>
int main(){
	myscanf();
}

myscanf(){
    char name[30], addr[100];
    int age;
    
    printf("이름 : ");
    scanf("%s", name);
    printf("\n나이 : ");
    scanf("%d", &age);
    printf("\n주소 : ");
    getchar();
    gets(addr);
    
    printf("\n\n%s에 살고 있는 %s님은 %d세입니다.", addr, name, age);
}

 

728x90
반응형

'C 언어' 카테고리의 다른 글

[C 언어] 함수 알아보기  (0) 2020.06.24
[C언어] 출력 함수 printf()  (0) 2020.04.15
[C언어] 기본 내용  (0) 2020.04.14
C언어 알아보기  (0) 2020.04.13
Visual Studio 2019 사용  (0) 2020.04.12