//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 함수는 사용하는 환경에 따라 다르게 동작합니다.*
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] scanf 함수 사용 예제 (0) | 2016.04.30 |
---|---|
[C언어 소스] gets 함수 사용 예 (0) | 2016.04.18 |
[C언어 소스] printf 함수 사용 예 (0) | 2016.04.18 |
[C언어 소스] puts 함수와 printf 함수 비교 예 (0) | 2016.04.18 |
[C언어 소스] putchar 함수 사용 예 (0) | 2016.04.18 |