Snack

printf 에서 숫자 앞에 + 또는 - 자동으로 붙이는 방법

jeylee 2025. 2. 2. 10:53


C 언어에서 printf를 사용할 때, 숫자 앞에 + 또는 - 기호를 자동으로 붙이려면 포맷 문자열에서 + 플래그를 사용하면 됩니다. 이 방법을 활용하면 양수 값에도 + 기호가 표시되고, 음수 값은 기본적으로 - 기호가 붙어 출력됩니다.

 

1. + 플래그 사용법

+ 플래그는 숫자가 양수일 경우 + 기호를 자동으로 추가해줍니다.

printf("%+d", number);

 

 

  • + : 양수에도 +를 표시하고, 음수는 기본적으로 -를 표시합니다.
  • d : 정수형 데이터를 출력할 때 사용하는 변환 사양입니다.

2. 예제 코드

아래 코드를 실행하면 + 플래그를 적용했을 때와 그렇지 않을 때의 차이를 확인할 수 있습니다.

 

#include <stdio.h>

int main() {
    int pos = 42;
    int neg = -42;

    // 숫자에 + 기호 추가
    printf("%+d\n", pos);  // 출력: +42
    printf("%+d\n", neg);  // 출력: -42

    // 기본 출력(기호 없음)
    printf("%d\n", pos);   // 출력: 42
    printf("%d\n", neg);   // 출력: -42

    return 0;
}

 

 


3. 출력 폭과 정렬 옵션

+ 플래그와 함께 출력 폭을 지정하면 숫자를 정렬할 수도 있습니다.

1) 출력 폭 지정 (오른쪽 정렬)

printf("%+10d\n", 42);  // 출력:         +42
printf("%+10d\n", -42); // 출력:         -42
  • %+10d : 숫자를 10칸의 공간을 차지하도록 출력하며, 우측 정렬됩니다.

2) 왼쪽 정렬 (- 플래그 추가)

printf("%+-10d\n", 42);  // 출력: +42        
printf("%+-10d\n", -42); // 출력: -42
  • %+-10d : 숫자를 10칸의 공간을 차지하도록 출력하며, 좌측 정렬됩니다.

4. 정리

  • + 플래그를 사용하면 양수에도 + 기호가 자동으로 붙고, 음수는 기본적으로 -가 붙습니다.
  • 숫자 정렬이 필요하면 + 플래그와 함께 출력 폭을 지정할 수 있습니다.
  • - 플래그를 추가하면 숫자가 왼쪽 정렬됩니다.
  • 공백( ) 플래그를 사용하면 양수 앞에 공백을 삽입하여 정렬을 맞출 수 있습니다.