반응형
두 변수의 값을 교환하는 방법입니다.
int a=10;
int b=20;
a = b; // 이렇게는 교환이 되지 않습니다.
b = a;
두 값을 교환하기 위해서는 임시 변수가 한 개 더 필요합니다.
int temp = a; a = b; b = temp; |
int temp = b; b = a; a = temp; |
C언어 코드
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int temp = a;
a = b;
b = temp;
printf("a=%d, b=%d\n", a, b);
return 0;
}
C언어의 함수를 이용해서 교환하는 코드입니다.
#include <stdio.h>
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int a = 10, b=20;
swap(&a, &b);
printf("a=%d, b=%d\n", a, b);
return 0;
}
C++ 언어에서는 위의 swap 함수처럼 포인터를 이용해도 되지만, 참조 연산자를 이용해서 두 값을 교환할 수 있습니다.
C++ 코드
#include <iostream>
using namespace std;
void swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10, b = 20;
swap(a, b);
cout << "a=" << a << ", b=" << b << endl;
}
반응형
'C_C++ > 기초_알고리즘_문제' 카테고리의 다른 글
(C언어) 초 단위 시간을 시간 분 초로 변경하기 (0) | 2022.11.05 |
---|---|
(C언어) 1-2+3-4+5-6+ ... +99-100=? (0) | 2022.11.04 |
(기초 알고리즘) 1부터 N까지의 합 구하기 (0) | 2022.11.03 |
(C언어) 1부터 10까지 출력하기: for while do goto 문으로 작성 (0) | 2022.11.03 |
(기초 알고리즘) 사칙연산 a=10, b=3, 10+3=13, .. (0) | 2022.11.02 |