책 내용 질문하기
2번 문제 코드 해석 관련 질문드립니다
도서
2024 시나공 정보처리기능사 실기 기본서
페이지
206
조회수
98
작성일
2024-10-05
작성자
이*훈
첨부파일

코드 중 numtest 사용자 정의 함수에서

if , else if를 거쳐 T 혹은 F 값을 반환받게 됩니다.

만약 n 값이 1이라면, 첫번째 if ( n<2 )를 만족해 F를 반환받는거죠. 이때 제가 궁금한 것은 사용자 정의 함수 내 While문이 if문에 속해 있는 것이 아니고 동등한 위치에 있는데 왜 if를 통해 F가 반환된 이후 while문을 거치지 않고 그냥 F를 반환받은 채로 main()으로 돌아가는지 이해가 안됩니다.

사용자 정의 함수에서는 return이 함수 자체에서의 break와 같은 역할을 해서 어떠한 반환값이 나오면 그대로 종료인건가요?

답변
2024-10-06 12:53:46

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

return 을 만나면 실행하고 있던 함수를 종료하고 해당 함수를 호출했던 곳으로 값을 반환해줍니다


아래 그림에서 if문은 파란색으로 표시한 부분입니다.

if문에서 n<2 조건을 만족하면 return false를 만나 numTest 함수를 종료하고 numTest 함수를 호출했던곳으로 false 값을 반환하고

n<2 조건을 만족하지 못하면 else if 로 내려가 n==2 조건을 비교합니다.

n==2 조건을 만족하면 return true를 만나 numTest 함수를 종료하고 numTest 함수를 호출했던곳으로 true 값을 반환 합니다

n==2 조건을 만족하지 못할경우 if문이 종료가 되고 if문 아랫쪽으로 내려가 while(1) 반복문을 만납니다


행복한 하루되세요 :)

  • 관리자
    2024-10-06 12:53:46

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

    return 을 만나면 실행하고 있던 함수를 종료하고 해당 함수를 호출했던 곳으로 값을 반환해줍니다


    아래 그림에서 if문은 파란색으로 표시한 부분입니다.

    if문에서 n<2 조건을 만족하면 return false를 만나 numTest 함수를 종료하고 numTest 함수를 호출했던곳으로 false 값을 반환하고

    n<2 조건을 만족하지 못하면 else if 로 내려가 n==2 조건을 비교합니다.

    n==2 조건을 만족하면 return true를 만나 numTest 함수를 종료하고 numTest 함수를 호출했던곳으로 true 값을 반환 합니다

    n==2 조건을 만족하지 못할경우 if문이 종료가 되고 if문 아랫쪽으로 내려가 while(1) 반복문을 만납니다


    행복한 하루되세요 :)

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