다음 C 프로그램의 출력 결과는?
#include <stdio.h>
int main(void) {
int x = 100, y = 200;
int *px = &x, *py = &y, *tmp;
(*px) -= 10;
(*py) += 50;
tmp = px;
px = py;
py = tmp;
(*px) += 50;
(*py) -= 10;
printf("x: %d, y: %d\n", x, y);
return 0;
}ITPASSLAB 재구성 문제 자료
크게 보기 ↗
크게 보기 ↗정답 1번
처음 px는 x, py는 y를 가리킨다. (*px)-=10으로 x=90, (*py)+=50으로 y=250이 된다. 포인터만 교환한 뒤 px는 y, py는 x를 가리키므로 y=300, x=80이 되어 `x: 80, y: 300`을 출력한다.
콘텐츠 정보
- 자료 유형
- 공개 기출
- 검수 상태
- 자동 검사 완료
- 해설 작성·검수
- 정처LAB 자동 검사
- 최종 검수
- 자동 검사 완료