[7급 국가직 프로그래밍언어론 2011년 11번]

다음 C 프로그램은 2차원 배열 x의 각 원소 값을 두배로 만들기 위한 것이다. ㉠과 ㉡에 들어갈 내용으로 옳지 않은 것은?
#include <stdio.h>
㉠  // 배열의 원소 값을 두배로 하는 함수 정의
void main() {
   int x[2][3] = {{1, 2, 3}, {4, 5, 6}};
  ㉡  // 함수 ㉠ 호출
}
프로그래밍언어론
  1. ①
    ㉠
    void dubl(int ary[][], int row, int col) {
       int i, j;
       for (i = 0; i < row; i++)
          for (j = 0; j < col; j++)
             ary[i][j] *= 2;
    }
    ㉡ dubl(x, 2, 3);
  2. ②
    ㉠
    void dubl(int ary[], int size) {
       int i;
       for (i = 0; i < size; i++)
          ary[i] *= 2;
    }
    ㉡ int i;
    for (i = 0; i < 2; i++) dubl(x[i], 3);
  3. ③
    ㉠
    void dubl(int ary[], int size) {
       int i;
       for (i = 0; i < size; i++)
          ary[i] *= 2;
    }
    ㉡ dubl(x[0], 6);
  4. ④
    ㉠
    void dubl(int *ary, int size) {
       int i;
       for (i = 0; i < size; i++)
          *(ary + i) *= 2;
    }
    ㉡ dubl(x[0], 6);

선지를 골라 바로 채점해 보세요.

정답 ①

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고