scanf 함수는 문자뿐만 아니라 숫자도 입력하는 기능이 포함되어 있으므로 문자만 입력하는 함수에 비해 크기가 큽니다.
printf 함수도 마찬가지입니다. 따라서 문자만 입출력하는 경우는 문자 전용 함수를 쓰는 것이 효율적입니다. getchar 함수와 putchar 함수는 문자 전용 입출력 함수로 원형은 다음과 같습니다.
int getchar(void); <- 매개변수가 없고 입력한 문자를 반환합니다.
int putchar(int); <- 출력할 문자를 인수로 줍니다.
// getchar 함수와 putchar 함수 사용
#include <stdio.h>
int main(void)
{
int ch; // 입력 문자를 저장할 변수
ch = getchar(); // 함수가 반환하는 문자를 바로 저장
printf("입력한 문자 : ");
putchar(ch); // 입력한 문자 출력
putchar('\n'); // 개행 문자 출력
return 0;
}
getchar 함수는 매개변수가 없으므로 괄호만 사용하여 호출합니다. 호출된 함수는 키보드로 입력한 문장의 아스키 코드 값을 반환하므로 반환값은 int형 변수로 받습니다. 반환값은 필요해 따라 char형 변수나 배열에 옮겨 문자나 문자열로 사용합니다. getchar 함수는 scanf 함수와 마찬가지로 공백 문자, 탭 문자, 개행 문자도 입력하는데 이들 문자를 제외하는 옵션은 없습니다.
putchar 함수는 문자 상수나 문자의 아스키 코드 값을 인수로 주면 해당 문자를 화면에 출력합니다.
그리고 출력한 문자를 다시 반환하며 출력 과정에서 에러가 발생하면 -1을 반환합니다.
'프로그래밍언어 > C 언어' 카테고리의 다른 글
[C 언어] scanf 함수 반환값 활용 (0) | 2022.12.09 |
---|---|
[C 언어] scanf 함수가 문자를 입력하는 과정 (0) | 2022.12.09 |
[C 언어] scanf 함수를 사용한 문자 입력 (0) | 2022.12.09 |
[C 언어] 아스키 코드 (0) | 2022.12.09 |
[C 언어] 배열에 값을 입력하는 함수 (0) | 2022.12.08 |