>  기사  >  백엔드 개발  >  [C언어] 변수값을 쉽게 교환하는 방법을 알려주는 5가지 팁

[C언어] 변수값을 쉽게 교환하는 방법을 알려주는 5가지 팁

little bottle
little bottle앞으로
2019-04-27 11:15:283605검색

두 변수의 값을 교환하는 연산은 C 언어에서 자주 사용되는데, 임시 변수를 사용하지 않고 두 변수의 값을 교환하는 방법에 대한 질문도 많이 받습니다. 여기에는 총 5가지 방법이 있습니다. 읽은 후 뭔가를 배웠기를 바랍니다.

1. 임시 변수 방법

방법 설명: 임시 변수 방법을 중간 전환으로 사용하는 것은 누구나 생각할 수 있는 가장 간단하고 쉬운 방법입니다. 이 방법은 다양한 상황에서 널리 사용되며 능숙하게 숙달되어야 합니다.

#include<stdio.h>
int main(void){
     int a=1,b=2,tmp;     
     tmp =a;     
     a=b;     
     b=tmp;     
    printf("%d %d",a,b);
     return 0; 
}

2. 덧셈과 뺄셈 교환 방법

방법 설명: 이름에서 알 수 있듯이 수학의 덧셈과 뺄셈 방법을 사용하여 교환합니다. 먼저 a+b의 결과를 변수 a에 저장한 후 사용합니다. 변경된 a와 원본 b를 빼면 교환된 b를 얻을 수 있습니다. 단점은 a+b의 결과가 범위를 벗어날 수 있다는 것입니다.

#include<stdio.h>
int main(void){     
       int a=1,b=2;
     a = a + b;
     b = a - b;
     a = a - b;     
     printf("%d %d",a,b);     
     return 0;
 }

3. 곱셈과 나눗셈 교환 방법

방법 설명: 이 방법은 덧셈과 뺄셈과 유사합니다. 즉, 덧셈과 뺄셈을 곱셈과 나눗셈으로 대체하는 것이 단점입니다. 덧셈보다 경계를 넘을 때 주의해야 합니다.

#include<stdio.h>
int main(void){     
       int a=1,b=2;
     a = a * b;
     b = a / b;
     a = a / b;     
     printf("%d %d",a,b);     
     return 0;
 }

4. XOR 교환 방법

방법 설명: XOR 연산을 교묘하게 사용하여 교환을 수행합니다. 이 방법은 주로 a^b의 값이 a에 저장되기 때문입니다. = a그래서 교환이 원활하게 완료될 수 있습니다. 이 방법은 완벽하며 국경을 넘는 문제도 없습니다.

#include<stdio.h>
int main(void){    
 int a=1,b=2;     
 a = a ^ b;     
 b = a ^ b;     
 a = a ^ b;    
 printf("%d %d",a,b);    
 return 0; }

5. Shift 교환 방법

방법 설명: 이 방법은 일반적으로 사용되지 않습니다. 원칙은 원래 int 유형 a의 값을 상위 16비트와 하위 16비트로 분할하는 것입니다. 이는 추가 16비트에 해당합니다. 임시 저장 공간을 재활용할 수 있지만, a 또는 b가 16비트를 초과하면 이 방법이 잘못될 수 있다는 점입니다. 이 방법은 복잡하고 오류가 발생하기 쉬우므로 모든 사람이 사용하는 것은 권장되지 않습니다.

#include<stdio.h>
int main(void){     
int a=1,b=2;
     a <<= 16;
     a |= b;
     b = a >> 16;
     a = a & 0xffff;     
     printf("%d %d",a,b);     
     return 0;
 }

반성 요약:
사실 이 다섯 가지 방법은 본질적으로 세 가지 범주로 나누어집니다. 하나는 임시 변수이고, 다른 하나는 덧셈, 뺄셈, 곱셈 및 나눗셈 연산, 세 번째는 비트 연산입니다. 각각의 장단점 때문에 임시 변수 방식과 XOR 교환 방식을 사용해 보는 것이 좋습니다. 임시 변수 방식은 여기까지만 하겠습니다. 모든 사람.

관련 튜토리얼: C 언어 튜토리얼

위 내용은 [C언어] 변수값을 쉽게 교환하는 방법을 알려주는 5가지 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제