【C++】經典的交換兩個數
阿新 • • 發佈:2018-12-14
#include <iostream> using namespace std; //錯誤,因為a,b都是指向地址的副本,函式結束之後,a,b就被刪除了 void myswap4(int *a, int *b) { int * temp = a; cout<<"形參a"<<&a; a = b; b = temp; } void myswap3(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } void myswap2(int &a, int &b) { int temp = b; b = a; a = temp; } //這是不使用第三個變數的交換,兩個數。但是交換的仍是副本 void myswap(int a, int b) { a = a^b; b = a^b; a = a^b; } void main() { int a = 4; int b = 5; cout <<"a address"<< &a; myswap4(&a, &b); getchar(); }