#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=100b-=a; //b=b-a b=100a+=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=100b-=a; //b=b-a b=100a+=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;
}