다음 C 언어 프로그램의 실행 결과로 옳은 것은?#include <… | [법원직 9급 전산·사서 컴퓨터일반] 26년 1회차 기출문제 상세 페이지
1[법원직 9급 전산·사서 컴퓨터일반] 26년 1회차
다음 C 언어 프로그램의 실행 결과로 옳은 것은?
| #include <stdio.h> int main() { int data[] = {10, 20, 30, 40, 50}; int *ptr = data; ptr++; *ptr += 5; printf("%d", *(ptr+1) + *(ptr)); return 0; } |
1
35
2
50
3
55
4
75
해설
*(ptr+1)이 30, *ptr이 25이므로 출력값은 55이다.
ptr = data 이므로 ptr은 data[0]을 가리킨다.
ptr++ 로 data[1]을 가리킨다.
*ptr += 5 로 data[1]이 20에서 25로 바뀐다.값 20을 그대로 더하면 50이 되지만, 앞 문장에서 data[1]이 이미 25로 바뀌었으므로 맞지 않다.
오류나 개정된 내용이 보이면 알려주세요