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 |