/*getchar()/putchar() 함수를 이용하여 키보드로부터 한 문자를 입력받아 화면에 출력하는 프로그램*/
#include <stdio.h>
int main()
{
char ch;
printf("Please enter any character: ");
ch = getchar(); //문자입력
putchar(ch); //문자출력
printf(" is a letter you typed\n");
fflush(stdin);
printf("Please enter any character: ");
scanf("%c", &ch);
printf("%c is a letter you typed\n", ch);
return 0;
}
ch=getchar();
scanf("%c", &ch);
이 두함수는 키보드로부터 문자를 입력받아 변수 ch에 기록한다. 사용자가 데이타를 입력한 후 <엔터키>를 눌러야 입력 데이타를 읽는다. 이것은 두함수가 모두 버퍼(buffer)를 통하여 데이타를 입력받기 때문이다. 버퍼란 임시 저장공간으로 여기서는 입력된 문자들을 <엔터키>를 누를때까지 저장하는 공간이다. 버퍼를 사용하는 이유는 키보드에 누를 때마다 프로그램으로 문자를 전송하는 것보다 한 줄을 모두 입력받아 한꺼번에 전송하는 것이 전송속도를 줄일 수 있기 때문이다.
printf("%c", ch);
putchar (ch);
이 두 명령어도 동일한 기능을 가진 출력문이다. putchar (ch);는 문자하나를 출력할 때 유용하다.
fflush (stdin);
getchar() 함수로 문자를 읽은 후 버퍼에 <엔터키>가 남아 있기 때문에 입력버퍼를 비우기 위해서 쓰인다.
'C 언어 > 임베디드 C' 카테고리의 다른 글
while문(2) (0) | 2011.04.06 |
---|---|
while문(1) (0) | 2011.04.06 |
아스키코드와 숫자의 구분 (0) | 2011.04.05 |
switch문(3) (0) | 2011.04.05 |
switch문(2) (0) | 2011.04.05 |