형식 규격 필드 : printf
함수의 큰따옴표안에는 다양한 형식 규격 필드가 올 수 있음.
“%[플래그][필드폭][.정밀도][서식문자]” 형식
플래그 | 의미 | 기본값 |
---|---|---|
- | 주어진 필드 너비 내 왼쪽 정렬 | 오른쪽 정렬 |
+ | 양수에 ‘+’부호 표시 | 음수 시만 표시 |
0 | 남는 공간을 0으로 채움 | 공백 |
공백 | 양수나 0’일 때 부호대신 공백 출력 | 공백 없음 |
# | o, x, X 형식과 사용시 0, 0x, 0X의 접두사로 진법을 구분 | 표시 안함 |
scanf
에서 변수 사용시 변수 앞에 &를 붙여야 함. (s[10]과 같은 형태의 변수에서 문자열 입력 시 제외)scanf
– space, enter, tap / gets
– enterscanf
에서 실수 입력 시 float
과 double
을 구분해 %f
와 %lf
를 써야 함. (출력에서는 같음)float
의 변수에 실수 값 입력 시 실수 끝에 f
를 붙여 double
과 구분해야 함. (안 붙이면 double
로 인식하고 오류)float
, double
과 같은 자료형에 실수를 저장하고 출력하는 값에는 오차가 있다. (각 4바이트, 8바이트로 표현할 수 있는 실수 값에서 비슷한 값 출력 - 양자화)%c
는 space
도 문자로 취급하며, enter를 통해 버퍼에 있는 값을 다음 문자 입력에 전달하기도 함. (%c
%c
와 같이 띄어 쓰면 space 무시)fflush(stdin)
: 키보드로 입력한 버퍼에 남은 값을 버림.byte
의 흐름으로 생각하는 것.버퍼 : 원활한 스트림을 위해 스트림 내 위치한 임시기억 장소.
char s[4]
에서 보면 t
의 할당된 메모리공간 마지막 비트에는 문자열의 끝을 나타내는 \\0(null)
이 들어감. (초과 입력 시 오류)단계/구분 | 정수 나눗셈 | 실수 나눗셈 |
---|---|---|
1 | 5/9 | 5.0/9.0 |
2 | 소수점 이하 버림 | 부동소수점형 연산 결과 |
3 | 0 출력 | 0.555556 출력 |