책 내용 질문하기
정보처리산업기사 실기 1권 587페이지 이해안되요
도서
2020 시나공 정보처리산업기사 실기 [기본서]
페이지
587,588
조회수
230
작성일
2021-03-02
작성자
탈퇴*원
첨부파일
디버깅을실행하니 p가 2, n=3, double t=1.7, m=1, for문에서 i가 2로초기화되는것이 이해가 됩니다.
다만 r= n(3)%i(2) 인데 왜 0이 나오는지 이해가 안됩니다.
또한 코드를분석해보니 p가 증가하는것이 없고 p=n이 되어도 3이되는데 왜 디버깅표의 2열의 p가 5가되는지 이해가 안됩니다.
답변
2021-03-03 15:57:40
안녕하세요 길벗수험서 운영팀입니다.
먼저 디버깅표가 반복문의 회전수가 아닌 단순히 변수값 변화의 나열임을 염두에 두세요.
m이 초기값 1을 가질 때 for문은
for(int i=2; i<=1; i++) 과 같은 구성을 갖춥니다.
초기값부터 조건식(최종값)이 거짓(false)이 되어버려 for문을 아예 수행하지 않게 됩니다.
때문에 바로 13번으로 이동해서 n의 값이 1 증가하고
n=4, t=2.00..., m=2가 되어 다시 for문으로 가게 되죠.
for(int i=2; i<=2; i++) 가 되고, 이때가 되서야 for문 안으로 진입하여
r=n%i를 수행하게 됩니다. n은 이때 4이고 i는 2이니, r은 0의 값을 갖게 되죠.
행복한 하루되세요 :)
-
관리자2021-03-03 15:57:40
안녕하세요 길벗수험서 운영팀입니다.
먼저 디버깅표가 반복문의 회전수가 아닌 단순히 변수값 변화의 나열임을 염두에 두세요.
m이 초기값 1을 가질 때 for문은
for(int i=2; i<=1; i++) 과 같은 구성을 갖춥니다.
초기값부터 조건식(최종값)이 거짓(false)이 되어버려 for문을 아예 수행하지 않게 됩니다.
때문에 바로 13번으로 이동해서 n의 값이 1 증가하고
n=4, t=2.00..., m=2가 되어 다시 for문으로 가게 되죠.
for(int i=2; i<=2; i++) 가 되고, 이때가 되서야 for문 안으로 진입하여
r=n%i를 수행하게 됩니다. n은 이때 4이고 i는 2이니, r은 0의 값을 갖게 되죠.
행복한 하루되세요 :)