입력
float a = 123.123456789f;
printf("9.3f", a);
printf("9.9f", a);
출력
245.123
245.123458862
소수점 앞의 9는 정수부, 소수점, 소수부를 포함한 모든 출력의 최소 길이,
소수점 뒤의 숫자는 소수점 아래 몇 자리까지 출력할 것인지를 나타낸다.
따라서 첫 번째 프린트문의 경우 최소 정수부, 소수점, 소수부 포함 최소 9자리를 사용해야 하는데
소수점 한 자리, 소수부 세 자리, 정수부 세 자리 해서 일곱 자리밖에 안 되니 공백으로 2자리를 채운다.
decimal이나 string 출력 시 서식 문자를 %3d, %10s 이렇게 정수와 함께 입력하면
각각 최소 3자리, 10자리는 차지해야 한다는 말이 되므로
잘 계산해서 하면 문자열의 길이에 상관없이, 튀어나오는 행 없이 깔끔하게 출력할 수 있다.
'Programming Language > C' 카테고리의 다른 글
[C] 특정 규칙에 따라 문자열을 숫자로 변환하기 (0) | 2024.03.18 |
---|---|
[C] 구조체 struct (0) | 2024.03.13 |
[C] 포인터 선언과 역참조 (0) | 2024.03.11 |
[C] 포인터 연산 (0) | 2024.03.11 |
[C] C언어의 스토리지 클래스(기억 영역, Storage Class) (0) | 2024.03.07 |