책 내용 질문하기
정보처리기사 실기 기출문제집 2017년 6월 소수의 개수 구하기
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
102
조회수
62
작성일
2018-09-19
작성자
탈퇴*원
첨부파일

답이 number % i == 0 이던데

  1. for(i=2; i < number; i++)

if(numbet % i == 0)

return 0;

return 1;

여기서 for 문 안에 있는건 if문 안의 return 0; 까지 인가요?

p.163의 해설을 보면 표 첫번째 줄에 i가 2 일때 isprime함수의 number은 2, i는 2 이고 이럴때 if문의 number % i 를 하면 2 % 2라 0이 나오잖아요. 그렇게 되면 if문이 참이니깐 return 0; 이 되죠? 그러면 이상태로 0이 리턴 되고 isprime함수는 종료인가요?

아니면 for문 밖에 있는 것 같은 return 1;도 실행인가요?

표에는 반환값이 0 인데 cnt가 1로 바뀌어서 의문입니다.

답변
2018-09-19 11:53:11

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

1. for 문 안에 있는건 if문 안의 return 0; 까지 인가요?

[답변]

예, 그렇습니다.

if문의 경우 중괄호{}가 존재하지 않으므로, 바로 아래 수식인 return 0;까지가 하나의 구문임을 의미합니다.

for문 또한 마찬가지 입니다.

중괄호{}가 존재하지 않으므로 다음 줄인 if문까지가 하나의 구문이므로 for문은 return 0;까지가 되겠습니다.

2. p.163의 해설을 보면 표 첫번째 줄에 i가 2 일때 isprime함수의 number은 2, i는 2 이고 이럴때 if문의 number % i 를 하면 2 % 2라 0이 나오잖아요. 그렇게 되면 if문이 참이니깐 return 0; 이 되죠? 그러면 이상태로 0이 리턴 되고 isprime함수는 종료인가요?

[답변]

예, 맞습니다.

사용자 정의 함수에서 return 함수를 만나는 경우 해당 사용자 정의 함수는 return 값을 반환하며, 즉시 종료됩니다.

3.표에는 반환값이 0 인데 cnt가 1로 바뀌어서 의문입니다

[답변]

디버깅표는 누적되는 변수값을 단순 기입하여 좌우가 맞지 않는 경우가 있습니다.

직접 변수의 값이 바뀌는 것을 확인해 가며 대조해 보세요.

행복한 하루되세요.^^

  • *
    2018-09-19 11:53:11

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

    1. for 문 안에 있는건 if문 안의 return 0; 까지 인가요?

    [답변]

    예, 그렇습니다.

    if문의 경우 중괄호{}가 존재하지 않으므로, 바로 아래 수식인 return 0;까지가 하나의 구문임을 의미합니다.

    for문 또한 마찬가지 입니다.

    중괄호{}가 존재하지 않으므로 다음 줄인 if문까지가 하나의 구문이므로 for문은 return 0;까지가 되겠습니다.

    2. p.163의 해설을 보면 표 첫번째 줄에 i가 2 일때 isprime함수의 number은 2, i는 2 이고 이럴때 if문의 number % i 를 하면 2 % 2라 0이 나오잖아요. 그렇게 되면 if문이 참이니깐 return 0; 이 되죠? 그러면 이상태로 0이 리턴 되고 isprime함수는 종료인가요?

    [답변]

    예, 맞습니다.

    사용자 정의 함수에서 return 함수를 만나는 경우 해당 사용자 정의 함수는 return 값을 반환하며, 즉시 종료됩니다.

    3.표에는 반환값이 0 인데 cnt가 1로 바뀌어서 의문입니다

    [답변]

    디버깅표는 누적되는 변수값을 단순 기입하여 좌우가 맞지 않는 경우가 있습니다.

    직접 변수의 값이 바뀌는 것을 확인해 가며 대조해 보세요.

    행복한 하루되세요.^^

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