책 내용 질문하기
75페이지 1번문제 질문이요
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
75,1
조회수
97
작성일
2019-12-09
작성자
탈퇴*원
첨부파일
(1)에 n=7 (2)=n 인건 알겠습니다 그런데 제가 식을 계산해보면
for (i=1; i<=n; i++)를 하고나면 i값이 1에서 2로바뀌고
for(j=1; j<=i; j++)이 부분에선 j<=i(2)가되어 두번반복하고 j값이 두번증가해서 2,3이 저장되어 첫출력에 2,3이 나오는것이 아닌가요?
출력할때 처음으로 1이나오는게 이해가 안되서 질문남겨봅니다 ㅠㅠ
답변
2019-12-10 10:33:42
안녕하세요 길벗수험서 운영팀입니다.
for문 내부의 각 식의 기본 수행순서를 다시 한 번 확인해보시기 바랍니다.
for(①; ②; ③) {
④;
}
위의 for문이 ④를 3회 반복한다고 가정했을 때, 순서는
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
입니다.
처음 for (i=1; i<=n; i++) 에 진입하게 되면 i는 1을 갖고, for(j=1; j<=i; j++)으로 들어갑니다.
for(j=1; j<=i; j++) 에 진입하기 되면 j는 1을 갖고, printf("%3d", j); 을 수행하게 되겠죠.
이때 j for문은 j<=1이니 printf("%3d", j);를 1회만 수행하게 됩니다. (이때 j는 1)
처음에는 초기값을 갖고 수행을 시작하여, 2회 때부터 증가값을 적용한다는 것에 주의하세요.
행복한 하루되세요 :)
-
관리자2019-12-10 10:33:42
안녕하세요 길벗수험서 운영팀입니다.
for문 내부의 각 식의 기본 수행순서를 다시 한 번 확인해보시기 바랍니다.
for(①; ②; ③) {
④;
}
위의 for문이 ④를 3회 반복한다고 가정했을 때, 순서는
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
입니다.
처음 for (i=1; i<=n; i++) 에 진입하게 되면 i는 1을 갖고, for(j=1; j<=i; j++)으로 들어갑니다.for(j=1; j<=i; j++) 에 진입하기 되면 j는 1을 갖고, printf("%3d", j); 을 수행하게 되겠죠.이때 j for문은 j<=1이니 printf("%3d", j);를 1회만 수행하게 됩니다. (이때 j는 1)처음에는 초기값을 갖고 수행을 시작하여, 2회 때부터 증가값을 적용한다는 것에 주의하세요.행복한 하루되세요 :)