printf와 scanf
printf와 scanf는 string 형태로 format을 정하고 형식 지정자로 값을 대입하거나 입력받을 수 있도록 만든 표준 입출력 함수
표준 라이브러리 함수
#include <stdio.h>처럼#include로 미리 작성된 프로그램을 불러옴.h,.c,.txt모두 사용할 수 있고#include로 불러온 위치에 해당 내용이 실행됨< >와" "로 불러올 수 있는데,< >는 표준 라이브러리에서 파일을 찾고," "는 먼저 작업 폴더에서 찾고 없다면 표준 라이브러리에서 찾음
printf
- C의 표준 출력 함수
printf("출력할 서식", 변수1,..., 변수n)형태로 사용할 수 있고 출력할 서식에 형식 지정자(format specifier)를 포함시켜 변수를 함께 출력할 수 있음- 변수를 하나도 포함시키지 않고 출력할 수도 있고 서로 다른 type의 값을 출력할 수 있음
- 위의 예시에서
printf출력 서식에%가 형식 지정자의 자리임을 나타내고 데이터 타입에 따라 다른 형태를 가짐. 맨 아래 표 참고
scanf
- C의 표준 입력
scanf("입력 받을 서식", 변수1의 주소, ..., 변수n의 주소)-
scanf에 값을 입력할 때, 변수명이 아니라&로 변수의 주소를 전달 scanf가 window에서 보안 문제가 있어scan_f를 사용하라는 경고가 나올 수 있음 (scanf과scanf_s의 용법이 다름)#pragma warning (disable:4996)or#define _CRT_SECURE_NO_WARNINGS를 가장 위에 입력해주면 경고 무시하게 됨
- format만 적절히 설정해주면 한 번에 여러 개의 입력을 받을 수 있음
-
입력되어야 할 값보다 더 많이 입력 받을 경우 버퍼에 데이터가 남아 문제가 발생하기 때문에 더 많은 입력을 받아선 안됨.
Format specifier Data type %d10진 정수형 %o8진 정수형 %x16진 정수형 %uunsigned 10진수 %f실수형 %lfdouble 타입 실수형 %c문자 %s문자열