아카이빙/C, C++

C언어 포맷출력 인자전달 (passing parameter to printf)

셩님 2017. 7. 13. 21:28

C언어 포맷출력 인자전달 (passing parameter to printf)

  • C/C++에서 포맷 출력할 때 인자를 전달해야 할 경우가 있다.

  • 예컨대, https://www.acmicpc.net/problem/1022 백준온라인저지의 1022번 문제 (소용돌이 예쁘게 출력하기) 에서도 정수의 최대길이에 따라 출력 포맷이 달라진다.


%d

printf("%d\n", 100);
printf("%d\n", 20);
  • 일반적인 정수포맷의 출력방법.


%nd

printf("%3d\n", 100);
printf("%3d\n", 20);
  • 출력하는 정수의 최대길이를 정해준다.

  • 최대길이보다 짧은 경우 앞은 공백으로 채워진다.


%*d

int max_len = 3;
printf("%*d\n", max_len, 100);
printf("%*d\n", max_len, 20);
  • *에 인자를 전달한다.

  • 즉, %nd에서 n에 인자를 전달하는 것.

  • 위의 코드에서는 최대길이를 max_len인 3만큼 지정해준다.


'아카이빙 > C, C++' 카테고리의 다른 글

string과 character 배열  (0) 2018.05.26
malloc, calloc, realloc, free  (0) 2018.05.26
sizeof 포인터  (0) 2018.05.26
sizeof는 함수? 연산자?  (0) 2018.05.26
[C/C++] define, NULL, sizeof 헷갈리는 예시들  (0) 2018.05.24