C · 포인터·연습 문제

포인터로 swap

문제 설명PROBLEM

포인터로 swap

문제

두 정수의 주소를 받아 포인터 역참조로 값을 교환하세요.

구현할 함수

void swap(int *left, int *right)

입력

정수 left와 right가 주어집니다.

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

교환 후 두 값을 출력합니다.

구현 조건

  • 계산 로직은 반드시 swap 함수 안에 구현하세요.
  • 임시 변수 하나와 포인터 역참조를 사용하세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1서로 다른 양수3 77 3
2음수 포함-1 55 -1
3같은 값4 44 4
개념 노트와 실수 포인트

포인터

  • &x = x의 주소, *p = p가 가리키는 .
  • *p = 10 은 가리키는 원본을 바꿈 → call by reference(주소를 넘기면 함수가 원본 수정).
  • 포인터 산술: p+1 은 다음 원소(자료형 크기만큼 이동). *(p+2) == p[2].
  • 이중 포인터 **pp: 포인터를 가리키는 포인터.
  • ⚠️ p++ 는 포인터가 다음 칸을 가리키게 함(값 증가 아님).