책 내용 질문하기
342쪽 코드 질문드립니다.
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
342
조회수
305
작성일
2019-06-21
작성자
탈퇴*원
첨부파일

 

342쪽 C언어 코드

마직막에서 두번째 줄의

 

printf("%3d", a[x][y]);

에서

"%d" 로만 쓰면 안되나요?

 

3칸의 정수로 출력한다는것이 무슨 의미인지 예시 들어주시면 감사하겠습니다

 

잘 부탁드립니다.

 

 

답변
2019-06-24 11:20:49

안녕하세요 길벗수험서 운영팀입니다.

 

3칸 정수라는 의미는 화면에서 3칸을 확보한 후 오른쪽부터 수를 출력한다는 것을 의미합니다.

예를 들어, %3d 로 숫자 1을 출력한다고 했을 때,

 

(ㅁ는 빈 칸, 공백, 스페이스를 의미합니다.)

ㅁㅁ1

이렇게 출력되죠. 

 

출력시 %d를 해도 되지만, %3d를 출력하는 이유는 화면에 가지런히 출력하기 위합니다.

만약 %3d가 아닌 "%d"로 출력하게 되면, 모든 글자가 붙어서 출력될 것입니다.

1,2,3,4,5를 출력하게 되면,

 

12345

이렇게 출력되겠죠.

 

그렇다고 "%d "로 뒤에 공백을 하나 주게되면,

1,2,3,4,5와 함께 다음 줄에 1, 11, 12, 21, 22 를 출력하게 되면,

 

1 2 3 4 5

1 11 12 21 22

이렇게 각 열이 맞지 않게 됩니다.

 

%3d로 하게 되면,

ㅁㅁ1ㅁㅁ2ㅁㅁ3ㅁㅁ4ㅁㅁ5

ㅁㅁ1ㅁ 12ㅁ 12ㅁ 21 ㅁ 22

이렇게 각 열을 맞춰서 출력되게 됩니다.

 

단순히 출력 편의를 위한 것으로 값만을 출력하는데는 어떤 출력형식을 사용해도 무관합니다.

다만 서식지정자('%3d')가 어떤 역할을 하는지는 정확히 알아두세요.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-24 11:20:49

    안녕하세요 길벗수험서 운영팀입니다.

     

    3칸 정수라는 의미는 화면에서 3칸을 확보한 후 오른쪽부터 수를 출력한다는 것을 의미합니다.

    예를 들어, %3d 로 숫자 1을 출력한다고 했을 때,

     

    (ㅁ는 빈 칸, 공백, 스페이스를 의미합니다.)

    ㅁㅁ1

    이렇게 출력되죠. 

     

    출력시 %d를 해도 되지만, %3d를 출력하는 이유는 화면에 가지런히 출력하기 위합니다.

    만약 %3d가 아닌 "%d"로 출력하게 되면, 모든 글자가 붙어서 출력될 것입니다.

    1,2,3,4,5를 출력하게 되면,

     

    12345

    이렇게 출력되겠죠.

     

    그렇다고 "%d "로 뒤에 공백을 하나 주게되면,

    1,2,3,4,5와 함께 다음 줄에 1, 11, 12, 21, 22 를 출력하게 되면,

     

    1 2 3 4 5

    1 11 12 21 22

    이렇게 각 열이 맞지 않게 됩니다.

     

    %3d로 하게 되면,

    ㅁㅁ1ㅁㅁ2ㅁㅁ3ㅁㅁ4ㅁㅁ5

    ㅁㅁ1ㅁ 12ㅁ 12ㅁ 21 ㅁ 22

    이렇게 각 열을 맞춰서 출력되게 됩니다.

     

    단순히 출력 편의를 위한 것으로 값만을 출력하는데는 어떤 출력형식을 사용해도 무관합니다.

    다만 서식지정자('%3d')가 어떤 역할을 하는지는 정확히 알아두세요.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.