살아가는 이야기
printf의 출력 폭 지정 본문
C의 라이브러리 함수 printf에는 출력 폭을 지정하는 기능이 있다. %d가 그냥 십진수로 출력하는 것이라면 %5d는 5칸 내에 우측 정렬하여 십진수로 출력한다.
그런데 동적으로 출력폭을 지정하는 기능도 있다. 그것은 바로 별표 *이다. 출력폭을 별표로 지정하고 인수로 해당 출력폭을 주면 그 출력폭에 맞게 출력해 준다. 예컨대 다음 프로그램은 포물선을 따라 1부터 7까지 출력해 준다.
#include <stdio.h>
int main()
{
int width = 1, i = 1;
for (i = 1; i < 8; width *= 2, i++)
printf("%*d\n", width, i);
return 0;
}
사실 이 글을 전에 적은 줄 알았는데, 아무리 검색해도 나오지 않는다. 이건 건망증도 아주 이상한 건망증이다.
Comments