본문 바로가기
C, C++/C

[C 언어] 표준 입출력 - printf, scanf, getchar

by 준보틱스 2024. 12. 19.

printf, scanf는 첫번째 입력 인자로 전달한 포멧에 맞게 출력하거나 입력받는 함수이다.

printf - 연산

#include <stdio.h>
int main(void)
{
	int add = 3 + 7;
	printf("add");
	return 0;
}

#include <stdio.h>
int main(void)
{	
	int add = 3 + 7;
	printf("3+7=%d\n", add);
	return 0;
}

#include <stdio.h>
int main(void)
{	
	int add = 3 + 7;
	printf("%d+%d=%d\n", 3, 7, 3+7);
	return 0;
}

#include <stdio.h>
int main(void)
{	
	int add = 3 + 7;
	printf("%d * %d = %d\n", 15, 35, 15*35);
	return 0;
}

scanf

scanf는 사용자의 입력을 받는다. scanf_s 처럼 뒤에 _s 함수는 안전한 버전의 함수를 뜻한다.

#include <stdio.h>
int main(void)
{	
	int input;
	printf("값을 입력하세요 : ");
	scanf_s("%d", &input);
	printf("입력값 : %d\n", input);

	return 0;
}

#include <stdio.h>
int main(void)
{	
	int one, two, three;
	printf("3개의 정수를 입력해라 : ");
	scanf_s("%d %d %d", &one, &two, &three);
	printf("첫번째 값 : %d\n", one);
	printf("두번째 값 : %d\n", two);
	printf("세번째 값 : %d\n", three);
	return 0;
}

# include <stdio.h>

int main()
{
	char c = 'A';
	printf("%d\n", c);

	return 0;
}

문자 "A"의 ASCII 값이 65이기 때문에 65가 출력된다.

 

# include <stdio.h>

int main()
{
	char str[256]; // 크기가 256인 문자 배열 선언
	scanf_s("%s", str, sizeof(str)); //%s: 문자열 포맷 지정자, sizeof(str): 배열 크기 전달하여 입력 제한
	printf("%s\n", str);
	return 0;
}

getchar

getchar 함수는 최종 사용자가 입력한 스트림에서 하나의 문자 아스키 코드 값을 얻어오는 함수이다.

#include <stdio.h>
int main()
{
    char c = '\0'; //char 형 변수 c를 선언하고 '\0'(널문자)로 초기화
    c = getchar();
    printf("문자: %c  아스키 코드 값: %d \n", c, c);
    c = getchar();
    printf("문자: %c  아스키 코드 값: %d \n", c, c);
    c = getchar();
    printf("문자: %c  아스키 코드 값: %d \n", c, c);
    return 0;
}