책 내용 질문하기
89쪽, 115쪽 질문
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
89
조회수
230
작성일
2019-05-19
작성자
탈퇴*원
1. 89쪽 예제2 4번과 5번 라인에 대해서 질문 드립니다. func(i, j) int i, j; {•••} 라고 되어있는데요, int i, j; func(i, j){•••} 와 같이 변수를 먼저 선언한 후 함수를 적어줘야하는 것이 아닌지 궁금합니다. 2. 115쪽 8번 float a 123456789.0e-5f의 %f 출력에서, 1234.56789가 아닌 1234.567871이 되는 이유가 궁금합니다.
답변
2019-05-21 17:24:54

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

 

해당 식은 사용자 정의 함수 선언부에 해당 하는 식입니다.

 

말씀하신 것과 마찬가지로 변수 사용 전 선언이 먼저 있어야 하는 것이 맞습니다.

다만 한 문장 내에서 좌우는 바뀔 수 있죠.

(컴파일시 자동으로 자료형 선언이 앞으로 옵니다.)

 

func(i, j)

int i, j;

 

는 잘 살펴보시면 func(i, j)에 세미콜론(;)이 없다는 것을 확인하실 수 있습니다.

즉, 해당 식은 단순히 편의를 위해서 줄을 띄었을 뿐이지 아래와 같이 한 줄임을 알 수 있죠.

 

func(i, j) int i, j;

 

한 줄의 코드 내에서 선언이 이루어졌기 때문에 정상적으로 컴파일이 이루어집니다.

사용자 정의 함수 선언 부는 2가지 경우만 생각하시면 됩니다.

위의 방식과

 

func(int i, int j) 방식까지요.

 

행복한 하루되세요 :)

  • 관리자
    2019-05-21 17:24:54

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

     

    해당 식은 사용자 정의 함수 선언부에 해당 하는 식입니다.

     

    말씀하신 것과 마찬가지로 변수 사용 전 선언이 먼저 있어야 하는 것이 맞습니다.

    다만 한 문장 내에서 좌우는 바뀔 수 있죠.

    (컴파일시 자동으로 자료형 선언이 앞으로 옵니다.)

     

    func(i, j)

    int i, j;

     

    는 잘 살펴보시면 func(i, j)에 세미콜론(;)이 없다는 것을 확인하실 수 있습니다.

    즉, 해당 식은 단순히 편의를 위해서 줄을 띄었을 뿐이지 아래와 같이 한 줄임을 알 수 있죠.

     

    func(i, j) int i, j;

     

    한 줄의 코드 내에서 선언이 이루어졌기 때문에 정상적으로 컴파일이 이루어집니다.

    사용자 정의 함수 선언 부는 2가지 경우만 생각하시면 됩니다.

    위의 방식과

     

    func(int i, int j) 방식까지요.

     

    행복한 하루되세요 :)

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