책 내용 질문하기
1권 100페이지 문제 2번 함수 정의 질문입니다
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
100
조회수
121
작성일
2020-07-22
작성자
탈퇴*원
첨부파일

func(int *p){

    printf(~~~);

    printf(~~~);

}

 

이런 식으로 함수가 정의되어 있는데 리턴값이 없는데 void를 생략할 수 있나요?

 

그리고 정수형 리턴값이 있어도 함수 정의에 int가 생략된 경우(94페이지 예제 4번)와 int가 붙은 경우(99페이지 문제 1번)가 있는데 차이가 무엇인가요?

답변
2020-07-22 17:37:12

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

 

함수에 void 또는 자료형이 생략된 경우 컴파일러는 해당 함수에 return이 있다면 int로, return이 없다면 void로 판단하여 자동으로 삽입되어 실행됩니다.

 

이에따라 94쪽의 예제4번의 경우 return이 존재하므로 factorial 함수는 int로 정의되었다고 가정해야하고, 100쪽의 문제2번의 경우 return이 없으므로 func 함수는 void로 정의되었다고 가정해야합니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-07-22 17:37:12

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

     

    함수에 void 또는 자료형이 생략된 경우 컴파일러는 해당 함수에 return이 있다면 int로, return이 없다면 void로 판단하여 자동으로 삽입되어 실행됩니다.

     

    이에따라 94쪽의 예제4번의 경우 return이 존재하므로 factorial 함수는 int로 정의되었다고 가정해야하고, 100쪽의 문제2번의 경우 return이 없으므로 func 함수는 void로 정의되었다고 가정해야합니다.

     

    행복한 하루되세요 :)

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