반응형
printf 함수는 특정 데이터의 출력형식을 바꿔서 출력할 수 있습니다. 그 방법을 알아봅니다.
[ Contents ]
1. 출력형식
출력형식 | 출력 데이터 | 출력 예시 |
%d | 10진수 정수형 | 10 |
%o | 8진수 정수형 | 12 (8진수로 10) |
%x | 16진수 정수형 | a (16진수로 10) |
%u | 부호없는 10진수 정수형 | 10 |
%c | 한 문자 | a |
%s | 문자열 | hello |
%f | 소수 형태의 실수형 | 0.100000 |
%e | 지수 형태로 실수형 | 1.000000e-1 |
%g | 소수와 지수 형태 중 짧은 걸로 출력 | 0.1 |
출력형식에 따라 진법변환도 가능하며, 데이터 타입을 정해줄 수 있습니다. 출력형식은 특히 변수와 더불어서 많이 사용합니다. C언어는 다른 언어처럼 +연산자로 텍스트와 변수를 병합하거나, f-string 같은 게 없습니다.
for(int i=1; i<5; i++){
printf("%d 번째 반복입니다.\n", i);
}
따라서 텍스트 사이에 변수값을 출력하고 싶을 때에는 출력형식을 사용해야 합니다.
2. 자릿수 조정
%n*: 해당 출력형식을 n자리까지 표시 (빈 공간은 공백문자로 채움)
%0n*: 해당 출력형식을 n자리까지 표시 (빈 공간은 0으로 채움)
자릿수를 n을 고정할 수 있습니다. 보통 일정한 길이의 문장형식을 유지하기 위해 사용합니다.
1) 문장형식 고정
char* fruit[3] = {"apple", "kiwi", "banana"};
for(int i=0; i<3; i++){
printf("%s 은 %d 번째 과일입니다.\n", fruit[i], i+1);
}
return 0;
과일의 글자수에 따라 문장 전체가 밀리는 경향이 있습니다.
char* fruit[3] = {"apple", "kiwi", "banana"};
for(int i=0; i<3; i++){
printf("%6s 은 %d 번째 과일입니다.\n", fruit[i], i+1);
}
return 0;
반면 출력 자릿수를 고정하면, 일정한 문장형식을 유지할 수 있습니다.
2) 소수점 자릿수 조정(반올림)
printf("%.3f", 3.141592);
소수점 자릿수를 제한할 때에도 많이 쓰입니다.
"%.nf" 는소수점 아래 n자리만큼만 반올림해서 출력합니다.
반응형
'PL (Programming Language) > C' 카테고리의 다른 글
[C] scanf 로 공백 포함 입력받기, scanf_s 보안경고 해결하기 (0) | 2023.04.19 |
---|---|
[C] 프로그래밍 함수의 정의와 출력함수 printf() (0) | 2022.01.15 |
[C] stdio.h 라이브러리와 printf(), int main(), return 0; (0) | 2022.01.15 |
[C] C언어 컴파일러 설치 (비주얼 스튜디오, Dev c++) (0) | 2022.01.14 |
[C] C언어란? 기원과 특징, 공부방법 (0) | 2022.01.13 |
댓글