Skip to content

Instantly share code, notes, and snippets.

@nattybear
Created June 4, 2017 02:25
Show Gist options
  • Select an option

  • Save nattybear/97d8ca9d223ac8a144d5e88490ea9116 to your computer and use it in GitHub Desktop.

Select an option

Save nattybear/97d8ca9d223ac8a144d5e88490ea9116 to your computer and use it in GitHub Desktop.
C언어에서 출력 위치 조정하기
#include <stdio.h>
int main() {
// 우선 숫자 1을 출력한다.
// 숫자 1은 화면에서 1칸만 차지하지
printf("%d\n", 1); // 1
// 이번에는 1칸 띈 위치에 출력하라고 %1d라고 적었지만
// 화면에는 위랑 똑같이 나오지
// 그 이유는 % 뒤에 적어주는 숫자는
// 상대적인 위치가 아니라
// 절대적인 위치이기 때문이야
// 그 자리에 글자가 있건 없건
// 적어준 위치에 글자를 출력하라는 말이지
printf("%1d\n", 1); // 1
// 따라서 아래처럼 %2를 주면 이제는
// 한칸이 밀려서 나오지
printf("%2d\n", 1); // _1
// 반면에 이번에는 출력하려는 숫자가 2칸짜리라면
// 즉 1이 아니라 12라면
// %2라고 적어도 밀리지 않겠지
printf("%2d\n", 12); // 12
// 숫자 12를 한칸 밀리게 하고 싶다면
// 이번에는 %2가 아니라 %3이라고 해야겠지
printf("%3d\n", 12); // _12
// 이제 네가 질문한 "나이"를 출력해보자
// 우선 한글은 한글자가 "세칸"이야
// 확인해볼까
// 먼저 %3를 줘보자
// 그럼 한글 한글자가 3칸이니까
// %3를 줘봤자 안 밀리겠지
printf("%3s\n", "나"); // 나
// 그럼 이번에는 %4을 줘보자
// 이제서야 한칸 밀릴거야
printf("%4s\n", "나"); // _나
// 그럼 "나이"는 한글 두글자니까
// 실제로는 6칸을 차지하겠지
// 그럼 "나이"를 한칸 밀고 싶으면
// %7을 줘야겠다
printf("%7s\n", "나이"); // _나이
return 0;
}
@nattybear

Copy link
Copy Markdown
Author

C언어에서 서식문자에 적어주는 숫자는 절대 위치다!

  • 상대적인 위치가 아니야
  • 화면 제일 왼쪽에서부터 세는 절대 위치인거지

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment