342쪽 C언어 코드
마직막에서 두번째 줄의
printf("%3d", a[x][y]);
에서
"%d" 로만 쓰면 안되나요?
3칸의 정수로 출력한다는것이 무슨 의미인지 예시 들어주시면 감사하겠습니다
잘 부탁드립니다.
안녕하세요 길벗수험서 운영팀입니다.
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')가 어떤 역할을 하는지는 정확히 알아두세요.
행복한 하루되세요 :)