프로그래밍

 3198, 1/160 회원가입  로그인  
   ktf1234
   C언어 출력 서식을 이용한 자릿수 지정이 뭘까요..

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6437 [복사]


%d라는 개념은 알겠는데, "%자릿수d"라는 방식이 뭔지 모르겠네요 몇 번을 읽어봐도

책에 나온 걸로는

1. %자릿수d
printf("%5d", 55);   // 5자리 확보 후 뒤에서부터 출력

2. %0자릿수d
printf("%05d", 55);  // +(양수)는 오른쪽부터 자리 확보 후 남은 부분은 모두 0으로 채워진다.

3. %-자릿수d
printf("%-5d", 55);  // -(음수)는 좌측부터 5자리 확보 후 앞에서부터 출력

4. %d
printf("%3d이다", 55);  // 5자리 확보 후 뒤에서부터 출력

- 위의 형식은 출력 서식 %d, %s, %c 모두에 동일하게 해당된다.

라고 나와 있는데 무슨 개념인지 설명 해주시면 진짜 감사하겠습니다 ㅠㅠ

  Hit : 4895     Date : 2014/02/06 10:28



    
avtree 실제로 몇번 코드를 짜보시면 아실 내용일텐데..
1.%자릿수d라는 것은 "%5d",55라고 인자를 줬을때 원래는 55라고 출력되야하지만 ㅁㅁㅁ55라고 출력됩니다(ㅁ는 띄어쓰기-표현하기가 힘들어서 ㅁ로 표시했습니다)
보통 쓰는 용도는 1부터 100까지 숫자를 써보면 자릿수가 달라서 줄이 삐뚤빼뚤해지는데 그것을 미리 오른쪽정렬 시켜논것처럼 정리시킬수있습니다.
%3d,55이면 ㅁ55가 됩니다.
2. 이건 1번에서 ㅁ대신에 0이 들어간것입니다.
%05d,55라면 00055라고 표시됩니다.

3번은 저도 안써본기능이라 뭔지 모르겠네요.
나중에 시간나면 테스트해봐야겠습니다.

4번같은경우는 제목기준으로 하면 그냥 %d,55라고 쓰면 55라고 출력됩니다.
이경우에서는 아까 1번에서 말한 문제점등이 발견될수있습니다.
2014/02/07  
ktf1234 답변 감사요 드디어 이해 됐네요! 2014/02/07