반응형

getchar, putchar 함수

scanf 함수는 문자뿐 아니라 숫자도 입력하는 기능이 포함되어 있으므로 문자만 입력하는 함수에 비해 크기가 큽니다. 그러므로 문자만 입출력하는 경우는 문자 전용 함수를 쓰는 것이 효율적입니다. getchar 함수와 putchar 함수는 문자 전용 립출력 함수로 원형은 다음과 같습니다.

 

int getchar(void);

int putchar(int);

 

간단한 예제를 통해 사용법을 익혀 보겠습니다.

 

#include <stdio.h>

int main(void){
    int ch;

    ch = getchar();
    printf("입력한 문자 : ");
    putchar(ch);
    putchar('\n');

    return 0;
}

 

실행 결과

A
입력한 문자 : A

 

getchar 함수는 매개변수가 없으므로 괄호만 사용해서 호출합니다. 이때 입력받은 문자의 아스키 코드 값을 반환하므로 이를 int형 변수에 저장합니다. 그 뒤에 putchar를 통해 아스키 코드값에 해당하는 문자로 출력해 줍니다.

 

이때, getchar 함수의 반환형이 int형인 이유는 문자 외에 Ctrl + z 와 같은 단축키를 입력받으면 -1을 반환하기 때문입니다.

반응형