본문 바로가기

C언어/C언어 문법

[C언어] 필드 폭 지정

728x90
반응형

필드 폭 지정

 

출력할 때 콘솔 창에 보이는 문자들을 정렬하여 출력할 수도 있다.

 

이때 서식 문자를 사용해서 필드 폭을 정렬할 수 있다.

 

만약 정수를 출력할 때 %d 가 아니라 %8d를 사용하면 필드 폭을 8칸 확보하고 오른쪽 정렬해서 출력을 진행한다.

 

%-8d를 사용하면 필드 폭을 8칸 확보하고 왼쪽 정렬해서 출력을 진행한다.

 

이해를 돕기 위해 오른쪽 정렬과 왼쪽 정렬의 차이를 비교해보겠다.

 

#include <stdio.h>

int main ()
{
    int a = 30;
    int b = 300;
    int c = 3000;
    int d = 30000;
    int e = 300000;

    printf("필드 폭이 10칸 일 때 오른쪽 정렬\n");
    printf("%10d\n%10d\n%10d\n%10d\n%10d\n\n", a, b, c, d, e);

    printf("필드 폭이 10칸 일 때 왼쪽 정렬\n");
    printf("%-10d\n%-10d\n%-10d\n%-10d\n%-10d", a, b, c, d, e);

    return 0;
}
 

 

위 코드의 결과는 다음과 같다.

 
 
 
필드 폭이 아래 사진과 같이 설정되기 때문이다.

 

 

 

 

 

 

 

 

 

 

 

필드 폭을 정렬하여 다음과 같은 코드를 작성해보았다.

 

#include <stdio.h>

int main ()
{
    printf("%s%13s%13s\n", "항목", "가격", "수량");
    printf("%-13s%5d%12d\n", "쌀과자", 2000, 6);
    printf("%-13s%5d%12d\n", "음료수", 1500, 7);
    printf("%-13s%5d%12d\n", "책가방", 20000, 3);

    return 0;
}
 

 

위 코드의 결과는 다음과 같다.

 

 

 

 

여기서 필드 폭은 다음과 같이 설정되어 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형