본문 바로가기

C 언어/연습문제

C언어 연습문제7

[문제]

세 변수에 저장된 값을 서로 뒤바꾸는 함수를 정의해보자. 예를 들어서 함수의 이름이 Swap3라 하면, 다음의 형태로 함수가 호출되어야 한다.

Swap3(&num1, &num2, &num3);

그리고 함수호출의 결과로 num1에 저장된 값은 num2에 , num2에 저장된 값은 num3에, 그리고 num3에 저장된 값은 num1에 저장되어야 한다.

 

[실행결과]

3개의 정수 입력: 1 2 3
3 1 2

 

[코드]

#include<stdio.h>

void Swap3(int* ptr1, int* ptr2, int* ptr3);

int main(void)
{
	int num1, num2, num3;

	printf("3개의 정수 입력: ");
	scanf_s("%d %d %d", &num1, &num2, &num3);

	Swap3(&num1, &num2, &num3);
	printf("%d %d %d", num1, num2, num3);

	return 0;
}

void Swap3(int* ptr1, int* ptr2, int* ptr3)
{
	int temp;

	temp = *ptr3;
	*ptr3 = *ptr2;
	*ptr2 = *ptr1;
	*ptr1 = temp;
}

 

<참고>

윤성우의 열혈 C 프로그래밍

'C 언어 > 연습문제' 카테고리의 다른 글

C언어 연습문제9  (3) 2021.11.10
C언어 연습문제8  (0) 2021.11.10
C언어 연습문제6  (0) 2021.11.10
C언어 연습문제5  (0) 2021.11.05
C언어 연습문제4  (2) 2021.10.26