모두CBT

다음 C 코드를 수행하면 4개의 값이 출력된다. 출력 값 중 나머지 3… | [7급 국가직 자료구조론] 22년 1회차 기출문제 상세 페이지

1[7급 국가직 자료구조론] 22년 1회차
다음 C 코드를 수행하면 4개의 값이 출력된다. 출력 값 중 나머지 3개와 다른 값을 출력하는 C 코드의 라인 번호는?
라인 번호C 코드
1#include <stdio.h>
2
3int main() {
4    int array[] = {0,1,2};
5    int *p = array+2;
6
7    printf("%d\n", *(p-1));
8    printf("%d\n", *p-1);
9    printf("%d\n", *(p--));
10    printf("%d\n", *p);
11}
1
7
2
8
3
9
4
10
해설

나머지와 다른 값을 출력하는 것은 *(p--)를 출력하는 줄이다.

p는 array+2로 값 2를 가리킨다. *(p-1)은 array[1]인 1, *p-1은 2−1인 1이다. *(p--)는 후위 감소라 현재 위치의 2를 출력한 뒤 p가 array+1로 옮겨지고, 이어지는 *p는 1이다.

  • *(p-1): 한 칸 앞 원소의 값 1을 출력한다.
  • *p-1: 역참조가 먼저라 2에서 1을 뺀 1을 출력한다.
  • 마지막 *p: 앞 줄의 감소가 반영되어 1을 출력한다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 자료구조론] 22년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 자료구조론 기출문제 암기장 전체 보기