#include<iostream> using namespace std; int main() { int a,b,t; a=10; b=20; cout<<"a="<<a<<" b="<<b<<endl; //输出交换前a,b的值 t=a; a=b; b=t; cout<<"a="<<a<<" b="<<b<<endl; //输出交换后a,b的值 return 0; } //还有别的办法交换a,b中的值吗?
/*
第7课 2.阅读程序写结果 方法二
*/
#include <iostream>
using namespace std;
int main()
{
int a,b;
a=15;
b=20;
a=b-a;// a=20-15
//使得最开始的b值变为最开始的a值
b-=a;
//b=b-a; 20-(20-15)=20-20+15=15
//b=b-(b-a)=b-b+a=a 将b的值变为a的值
//使得最开始的a变为最开始的b值
a+=b;
//a=a+b;
//a=b-a+a=b
cout<<"a="<<a<<" b="<<b<<endl;
return 0;
}
/*
方法三
*/
#include <bits/stdc++.h>
using namespace std;
int main( void )
{
int a,b;
a=15;
b=16;
//不用临时的变量的交换
/*
a=b-a;//b-a=100
b-=a; //b=b-a b=100
a+=b; //a=a+b; a=200
*/
a=a+b-(b=a);
cout<<"a="<<a<<" b="<<b<<endl;
return 0;
}
/*
方法四
*/
#include <bits/stdc++.h>
using namespace std;
int main( void )
{
int a,b;
a=100;
b=200;
//不用临时的变量的交换
/*
a=b-a;//b-a=100
b-=a; //b=b-a b=100
a+=b; //a=a+b; a=200
*/
//a=a+b-(b=a);
//a=a^b; //^ 异或
//a=a^b; // ^ 异或
//a=a^b; // ^ 异或
a^=b^=a^=b;
cout<<"a="<<a<<" b="<<b<<endl;
return 0;
}