在这里我们既然不需要使用中间变量,那么我们就要对这里面进行一系列的思考,我们可以通过两个数的和和差进行判断。
例:比如我们给出两个数,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;
}