반응형
1. 개요
- c/c++에서 각 변수에 저장된 정수 값 x, y를 교환할 때 임시 변수를 사용하는데, 이 임시 변수 없이 교환하는 방법을 정리합니다.
2. 해결
- 곱셈과 나눗셈을 사용하여 이 문제를 해결합니다.
- 해결 과정은 다음과 같습니다.
- a에 a * b의 값을 저장
- a = a * b
- b
- b에 a / b 값을 저장
- a = a * b
- b = (a * b) / b
- a에 a / b 값을 저장
- a = (a * b) / ((a * b) / b)
- b = (a * b) / b
- 결론
- a = ((a * b) * b) / (a * b) == b
- b = (a * b) / b == a
- a에 a * b의 값을 저장
3. 구현
- 위에서 해결한 과정을 코드로 구현해 봅니다.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int a = 10;
int b = 20;
printf("a = [%d], b = [%d]\n", a, b);
a *= b;
b = a / b;
a /= b;
printf("a = [%d], b = [%d]\n", a, b);
return 0;
}
반응형
'C' 카테고리의 다른 글
[C/C++] mkdir(2) 디렉터리 생성 함수 사용법 (0) | 2024.03.08 |
---|---|
[C] Linux에서 System Log 사용 방법(openlog, syslog, closelog) (0) | 2023.11.10 |
[C]Type Casting (0) | 2018.01.11 |
[C]변수 const (0) | 2018.01.11 |
[C]kbhit(), getch(), 방향키입력 (0) | 2018.01.09 |