책 내용 질문하기
258페이지 문제 15 해설
도서
2025 시나공 정보처리기능사 실기 기본서
페이지
258
조회수
35
작성일
2025-08-27
작성자
윤*혁
첨부파일

동그라미 4번에서 number는 2를 받았는데 어떻게 동그라미 9가 가능한가요? 3~8과정을 돌리고 난 후 9로 와서 i값이 1 증가한다면 i=3,number=2가 되니까 i<=number를 충족하지 못하지 않나요?


리턴은 for문으로 때리기 때문에 for문 위에 있는 int number=99로 number값 초기화가 안되지 않나요

답변
2025-08-27 18:35:05

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

예를들어 김철수라는 사람이 서울에 살고 있습니다.

전국에 김철수라는 사람은 딱한명만 있는것이 아니라

동명이인이 많이 있을것입니다.

그와 마찮가지로 main() 함수에서 사용하는 number, i 변수와

isprime() 함수에서 사용하는 number, i변수는 동일한 변수가 아니라 서로 다른변수입니다.


아래 코드에서 동그라미 3번에서 isprime(i) 함수를 호출을 했으니

동그라미 4~8까지 실행이 끝나면 반환되는 값을 가지고

isprime(i) 함수를 호출했던 동그라미 3번으로 이동이 되어

반환 받은 값을 cnt에 누적을 시켜줍니다

cnt에 값을 누적한후 다시 for문으로 이동하여 i가 3일때를 실행합니다


또 질문하신 동그라미 1번에 있는 int number = 99, cnt = 0, i; 코드는 맨처음에 한번만 실행이 되고

이후 int number = 99, cnt = 0, i; 코드는 실행이 되지 않습니다


행복한 하루되세요 :)

  • 관리자
    2025-08-27 18:35:05

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

    예를들어 김철수라는 사람이 서울에 살고 있습니다.

    전국에 김철수라는 사람은 딱한명만 있는것이 아니라

    동명이인이 많이 있을것입니다.

    그와 마찮가지로 main() 함수에서 사용하는 number, i 변수와

    isprime() 함수에서 사용하는 number, i변수는 동일한 변수가 아니라 서로 다른변수입니다.


    아래 코드에서 동그라미 3번에서 isprime(i) 함수를 호출을 했으니

    동그라미 4~8까지 실행이 끝나면 반환되는 값을 가지고

    isprime(i) 함수를 호출했던 동그라미 3번으로 이동이 되어

    반환 받은 값을 cnt에 누적을 시켜줍니다

    cnt에 값을 누적한후 다시 for문으로 이동하여 i가 3일때를 실행합니다


    또 질문하신 동그라미 1번에 있는 int number = 99, cnt = 0, i; 코드는 맨처음에 한번만 실행이 되고

    이후 int number = 99, cnt = 0, i; 코드는 실행이 되지 않습니다


    행복한 하루되세요 :)

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