不创建临时变量,交换两整数的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不创建临时变量,交换两整数的值相关的知识,希望对你有一定的参考价值。

 

(1)加减法:a=a+b;b=a-b;a=a-b;

(2)乘除法:a=a*b;b=a/b;a=a/b;

(3)异或运算:a=a^b;b=a^b;a=a^b;(遇到a可翻译b,遇到b可翻译a)

^异或(按位异或):相同出0,相异出1.

如:2    0000 0000 0000 0010

      3    0000 0000 0000  0011

2^3      0000 0000 0000 0001 =1

2^3^2  0000 0000 0000 0011=3

--加减运算
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int a = 0;
 int b = 0;
 scanf("%d", &a);
 scanf("%d", &b);
 a = a +b;
 b = a-b;
 a = a-b;
 printf("%d\n",a);
 printf("%d\n", b);
 system("pause");
 return 0;
}
--乘除运算
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int a = 0;
 int b = 0;
 scanf("%d", &a);
 scanf("%d", &b);
 a = a * b;
 b = a /b;
 a = a / b;
 printf("%d\n", a);
 printf("%d\n", b);
 system("pause");
 return 0;
}
--异或运算
#include <stdio.h>
#include <stdlib.h>
int main()
{
 int a = 0;
 int b = 0;
 scanf("%d", &a);
 scanf("%d", &b);
 a = a^b;
 b = a ^ b;
 a = a ^ b;
 printf("%d\n", a);
 printf("%d\n", b);
 system("pause");
 return 0;
}

 

以上是关于不创建临时变量,交换两整数的值的主要内容,如果未能解决你的问题,请参考以下文章

js 解决两值交换

不利用临时变量,交换两个变量的值

不使用中间变量,交换变量的值。求一个数二进制中1的个数

变量交换

c语言实现交换两个整数 三种常见方法

两个变量交换的四种方法(Java)