책 내용 질문하기
p.209 6번문제
도서
2022 시나공 정보처리산업기사 실기
페이지
209
조회수
276
작성일
2022-06-09
작성자
박*현
첨부파일

함수 프로토타입 선언안하고 이런식으로 코드짜서 답이 나온다라고 해도 되는지 궁금합니다.

순간 헷갈려가지고 여러가지 컴파일러로 다 해보고왔는데 비쥬얼 스튜디오 최신버전에선 무슨 수를 썻는지 원래 안됐던걸로 기억하는데 에러나 워닝조차 없이 잘 됩니다만,

나머지 환경에서는 당연히 에러뿜습니다. dev cpp라던지..

답은 에러가 아닌지요. 정확하게 말하면 mp가 선언되지 않았다고 에러가 떠야합니다.

답변
2022-06-13 09:30:38

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

 

원칙대로라면 사용자정의함수는 함수가 사용되기 전에(main() 전에) 정의되어야 하지만,

간혹 해당 문제와 같이 프로토타입도 없이 사용 후에 정의되는 경우가 있습니다.

 

이 때 몇몇 컴파일러의 버전은 전처리 시 자동으로 함수의 위치를 재배치하여 실행하는 터라,

해당 코드와 같이 잘못 배치되어 있더라도 정상적으로 결과가 나오게 됩니다.

 

다만 교재의 문제는 실제 시험에 출제된 코드들을 수록한 것이므로,

실제 실행 시 함수 정의부의 위치로 인한 에러가 발생한다면 단순히 컴파일러의 차이구나 정도로만 인식해두시고,

정의부를 이동시킨 후 컴파일하여 결과를 확인해보시기 바랍니다.

 

행복한 하루되세요 :)

  • 관리자
    2022-06-13 09:30:38

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

     

    원칙대로라면 사용자정의함수는 함수가 사용되기 전에(main() 전에) 정의되어야 하지만,

    간혹 해당 문제와 같이 프로토타입도 없이 사용 후에 정의되는 경우가 있습니다.

     

    이 때 몇몇 컴파일러의 버전은 전처리 시 자동으로 함수의 위치를 재배치하여 실행하는 터라,

    해당 코드와 같이 잘못 배치되어 있더라도 정상적으로 결과가 나오게 됩니다.

     

    다만 교재의 문제는 실제 시험에 출제된 코드들을 수록한 것이므로,

    실제 실행 시 함수 정의부의 위치로 인한 에러가 발생한다면 단순히 컴파일러의 차이구나 정도로만 인식해두시고,

    정의부를 이동시킨 후 컴파일하여 결과를 확인해보시기 바랍니다.

     

    행복한 하루되세요 :)

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