您的位置:首页 > 编程语言 > C语言/C++

C语言小编程之不创建临时变量,交换两个数的值

2016-03-14 22:58 288 查看
在这里我们既然不需要使用中间变量,那么我们就要对这里面进行一系列的思考,我们可以通过两个数的和和差进行判断。

例:比如我们给出两个数,num1=8和num2=7,首先对num1赋值num1=num1-num2,然后num2=num1-num2.

最后得出num1=num1-num2

代码如下:

//不创建临时变量,交换两个数的值
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num1 ;
int num2 ;
scanf("%d%d",&num1,&num2);
num1 += num2;
num2 = num1 - num2;
num1 -= num2;
printf("%d %d",num1, num2);
system("pause");
return 0;
}




第二种方法,我们可以用异或的方法。

//实现的第二种方法,采用异或的方法。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int num1 ;
int num2 ;
scanf("%d%d",&num1,&num2);
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
printf("%d %d",num1, num2);
system("pause");
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: