책 내용 질문하기
정보처리기사 실기 배열처리 c언어 작성에 대하여 질문합니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
342
조회수
138
작성일
2017-10-08
작성자
탈퇴*원
첨부파일
c언어 작문시에 마지막 프린트과정에서
printf("%3d", a[x][y]);
printf("\n");
이 과정에대한 질문입니다. 3자리 십진수로 출력하는데 그냥 %d로 출력하면안되는건가요 ?
그리고 행 시프트에 대해서 두개의 출력열을 합치면 안되는 이유라도 있는건가요 ?
제가 생각했던 정답은
printf("%d\n", a[x][y]) 로 출력하면 안되는 이유를 알고싶습니다 !
답변
2017-10-10 13:47:10
안녕하세요.
1)
그냥 출력하면 출력할 값이 붙어서 출력됩니다.
3자리를 주는 이유는 출력될 값이 2자리이므로 값을 출력하기 전에 앞에 두 칸(1~9까지는) 또는 한 칸(10~나머지)의 공백을 띄우기 위함입니다.
2)
위의 printf는 for문에 적용되는 것이고
아래쪽 printf는 for문이 끝날 때 적용됩니다.
즉 for문을 수행한 후 한 줄을 띄우는 것과
for문을 수행하면서 한 줄씩 띄우는 것은 띄우는 줄의 간격이 서로 다릅니다.
오늘도 즐거운 하루 되세요.
-
*2017-10-10 13:47:10
안녕하세요.
1)
그냥 출력하면 출력할 값이 붙어서 출력됩니다.
3자리를 주는 이유는 출력될 값이 2자리이므로 값을 출력하기 전에 앞에 두 칸(1~9까지는) 또는 한 칸(10~나머지)의 공백을 띄우기 위함입니다.
2)
위의 printf는 for문에 적용되는 것이고
아래쪽 printf는 for문이 끝날 때 적용됩니다.
즉 for문을 수행한 후 한 줄을 띄우는 것과
for문을 수행하면서 한 줄씩 띄우는 것은 띄우는 줄의 간격이 서로 다릅니다.
오늘도 즐거운 하루 되세요.