C언어/C언어 예제

[C언어 소스] getchar 함수 사용 예

언제나휴일 2016. 4. 18. 11:48
반응형

//C언어 표준 라이브러리 함수 사용법 가이드
//int getchar(void); 표준 입력 스트림의 버퍼에서 맨 앞의 문자의 ASCII 코드 값을 반환하는 함수
//입력 함수를 호출한 후 바로 getchar 함수를 호출할 때와 fflush 호출 후 getchar 함수 호출 비교
#include <stdio.h>
 
void main (void)
{
    int num;
    char ch;
    
    //정수 입력 및 출력
    printf("정수: ");
    scanf_s("%d", &num);
    
    printf("입력한 정수: %d", num);
 
    //문자 입력 및 출력
    printf("문자: ");
    ch = getchar();
    printf("입력한 문자:%c ASCII CODE: %d\n", ch, ch);    
 
   //정수 입력 및 출력
    printf("정수: ");
    scanf_s("%d", &num);
    printf("입력한 정수: %d\n", num);
 
    printf("문자: ");
    fflush(stdin); //표준 입력 스트림의 버퍼를 비움
    //문자 입력 및 출력
    getchar();
    ch = getchar();
    printf("입력한 문자:%c ASCII CODE: %d\n", ch, ch);
}
 
출력
정수: 23(입력)
입력한 정수: 23문자: 입력한 문자:
 ASCII CODE 10
정수: 23(입력)
입력한 정수: 23
문자: a
입력한 문자: a ASCII CODE: 97
 
출력 결과를 보면 첫 번째 시도에서는 최종 사용자에게 문자를 입력받지 않고 버퍼에 남아있는 '\n'를 반환한 것을 알 수 있습니다. 그리고 두 번째 시도에서는 최종 사용자에게 문자를 입력받고 입력한 문자를 반환하는 것을 알 수 있습니다.

*fflush 함수는 사용하는 환경에 따라 다르게 동작합니다.*

언제나 휴일 티스토리 바로가기

무료 동영상 강의 유튜브 채널 바로가기


반응형