책 내용 질문하기
2020 정보처리기능사 실기 모의 고사 3회 문제 4번
도서
2020 시나공 정보처리기능사 실기 : NCS 기반 전면 개편
페이지
0
조회수
282
작성일
2020-09-27
작성자
탈퇴*원
첨부파일

문제 4

다음 C언어로 구현한 프로그램을 분석하여 그 실행 결과를 쓰시오.

 

#include <stdio.h>

void pcal(int* a) {              <------- (int* a)는 (int *a)로 포인터 변수인지?

       for (int i = 0; i < 5; i++)

                a[i]++;

}

main( ) {

         int ary[] = {1, 2, 3, 4, 5 };

         pcal(ary);

         printf("%d",ary[2]);

}

 

문제 해설에서

 

main() 함수

  ary[]

                      [0]                                            [1]                                            [2]                                         [3]                                               [4]

 

 1

 2

 3

 5

 

 

                                                         

  2                                              3                                              4                                              5                                                6  

 

 

pcal()함수   

    i    a[i]  *a 

    0    2

    1    3

    2    4

    3    5

    4    6

    5

 

main() 함수, pcal() 함수 무엇인지?   

리턴값이 없는 pcal() 함수의 시작점이다. 2번에서 전달받은 주소를 a가 받는다. 라고 하는데 무슨 뜻인지?

 

 

 

답변
2020-09-28 13:35:46

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

 

(int* a)는 (int *a)로 포인터 변수인지?

[답변]

예, 포인터 변수입니다.

*의 위치는 int 뒤에도 a 앞에도 올 수 있습니다.

 

main() 함수, pcal() 함수 무엇인지?  

[답변]

디버깅표의 main(), pcal() 함수 표기는

main() 절(중괄호{} 범위 내 코드)에서 사용하는 변수들의 값의 변화를,

pcal() 절(중괄호{} 범위 내 코드)에서 사용하는 변수들의 값의 변화를 말합니다.

 

리턴값이 없는 pcal() 함수의 시작점이다. 2번에서 전달받은 주소를 a가 받는다. 라고 하는데 무슨 뜻인지?

[답변]

void pcal(int *a) {  부분에서

void는 함수의 실행 결과를 호출한 곳으로 돌려보내지 않는다는 것 = 리턴값 없음

int *a는 호출 시 전달된 인수를 a가 받아서 pcal() 함수 내에서 사용된다는 의미입니다.

 

함수에 대한 자세한 내용은 교재 158쪽을 참고해주세요.

 

행복한 하루되세요 :)

  • 관리자
    2020-09-28 13:35:46

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

     

    (int* a)는 (int *a)로 포인터 변수인지?

    [답변]

    예, 포인터 변수입니다.

    *의 위치는 int 뒤에도 a 앞에도 올 수 있습니다.

     

    main() 함수, pcal() 함수 무엇인지?  

    [답변]

    디버깅표의 main(), pcal() 함수 표기는

    main() 절(중괄호{} 범위 내 코드)에서 사용하는 변수들의 값의 변화를,

    pcal() 절(중괄호{} 범위 내 코드)에서 사용하는 변수들의 값의 변화를 말합니다.

     

    리턴값이 없는 pcal() 함수의 시작점이다. 2번에서 전달받은 주소를 a가 받는다. 라고 하는데 무슨 뜻인지?

    [답변]

    void pcal(int *a) {  부분에서

    void는 함수의 실행 결과를 호출한 곳으로 돌려보내지 않는다는 것 = 리턴값 없음

    int *a는 호출 시 전달된 인수를 a가 받아서 pcal() 함수 내에서 사용된다는 의미입니다.

     

    함수에 대한 자세한 내용은 교재 158쪽을 참고해주세요.

     

    행복한 하루되세요 :)

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