반응형
C 언어, 임시 변수 없이 두 값 맞바꾸기
글. 오상문 sualchi@daum.net
임시 변수 tmp를 이용하려 a, b 값을 바꾸려면 다음처럼 작성하면 됩니다.
tmp = a;
a = b;
b = tmp;
그런데 변수가 가질 수 있는 값의 크기가 충분히 크다면 다음과 같은 코드도 가능합니다.
즉, a+b 값이 a가 가질 수 있는 최대값과 최소값 사이에 있을 때 가능한 방법입니다.
a += b;
b = a-b;
a -= b;
다음은 예제 코드입니다.
#include <stdio.h>
int main()
{
int a=3, b=4;
a += b; // a=3+4
b = a-b; // b=7-4
a -= b; // a=7-3
printf("a=%d, b=%d\n", a, b); // a=4, b=3
return 0;
}
<이상>
반응형
'C' 카테고리의 다른 글
C 언어, 가위바위보 게임 (0) | 2019.01.26 |
---|---|
C 언어, 유클리드 호제법으로 최대공약수 구하기 (0) | 2019.01.12 |
C 언어, 피보나치 수열 출력 (0) | 2019.01.05 |
C 언어, 8진수 16진수 서식 출력에 # 옵션 활용하기 (0) | 2018.12.08 |
C 언어, 지정한 n번째까지 피보나치 수열 출력하기 (0) | 2018.12.01 |