책 내용 질문하기
디버깅
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
512
조회수
80
작성일
2018-08-31
작성자
탈퇴*원
첨부파일

디버깅할때

c[3]이므로 default로 들어가 p=1이고 int i =0 이므로

i p

1

0 0

1 0

2 0

.

.

이렇게 디버깅이 아니라 왜 답안처럼 되는지 모르겠습니다

답변
2018-09-03 16:20:01

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

반복문 for문의 작업 순서를 알아야 이해할 수 있는 문제입니다.

for(①; ②; ③) {

}

위의 for문이 ④를 3회 반복한다고 가정했을 때, 순서는

1회 : ①, ②(조건 참), ④

2회 : ③, ②(조건 참), ④

3회 : ③, ②(조건 참), ④

4회 : ③, ②(조건 거짓) <탈출>

질문하신 “for (int i = 0; i < 5; i++, p *= i);”의 경우에는 위 예시의 ④가 없으므로 ④는 제외하고 진행하면 됩니다.

1회 : ①i=0, ②i<5(참)

2회 : ③i++(i=1), p*=i(p=1), ②i<5(참)

3회 : ③i++(i=2), p*=i(p=2). ②i<5(참)

4회 : ③i++(i=3), p*=i(p=6), ②i<5(참)

5회 : ③i++(i=4), p*=i(p=24), ②i<5(참)

6회 : ③i++(i=5), p*=i(p=120), ②i<5(거짓) <탈출>

위의 결과로 p는 120이 됩니다.

행복한 하루되세요.^^

  • *
    2018-09-03 16:20:01

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

    반복문 for문의 작업 순서를 알아야 이해할 수 있는 문제입니다.

    for(①; ②; ③) {

    }

    위의 for문이 ④를 3회 반복한다고 가정했을 때, 순서는

    1회 : ①, ②(조건 참), ④

    2회 : ③, ②(조건 참), ④

    3회 : ③, ②(조건 참), ④

    4회 : ③, ②(조건 거짓) <탈출>

    질문하신 “for (int i = 0; i < 5; i++, p *= i);”의 경우에는 위 예시의 ④가 없으므로 ④는 제외하고 진행하면 됩니다.

    1회 : ①i=0, ②i<5(참)

    2회 : ③i++(i=1), p*=i(p=1), ②i<5(참)

    3회 : ③i++(i=2), p*=i(p=2). ②i<5(참)

    4회 : ③i++(i=3), p*=i(p=6), ②i<5(참)

    5회 : ③i++(i=4), p*=i(p=24), ②i<5(참)

    6회 : ③i++(i=5), p*=i(p=120), ②i<5(거짓) <탈출>

    위의 결과로 p는 120이 됩니다.

    행복한 하루되세요.^^

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